 
 import Foundation
 
-public class URLSessionAdapter: Adapter {
+open class URLSessionAdapter: Adapter {
 
   var session: URLSession!
 

  /// the session reference to retain a session with a delegate: the handler
  /// retains the sessions strongly; the session strongly retains its
  /// delegate. Useful for SSL handshake delegates.
  public class Handler: NSObject, RackHandler, URLSessionDataDelegate {

    public lazy var configuration: URLSessionConfiguration = {
      URLSessionConfiguration.default

  /// - returns: New response object attached to the Rack environment. The
  ///   response knows how to cancel the request-response cycle in-flight, if
  ///   necessary.
  open override func call(env: Env) -> Response {
    let task = performRequest(env: env)
    let response = app(env)
    response.cancelBlock = { [weak task] in
