 
     // MARK: - Init
 
-    public init(responseAdapter: Adapter<(data: Data?, response: URLResponse?), (T, URLResponse?)>,
+    open init(responseAdapter: Adapter<(data: Data?, response: URLResponse?), (T, URLResponse?)>,
                 requestDispatcher: UrlRequestDispatcher = UrlRequestDispatcher(),
                 sessionAdapter: Adapter<URLRequest, URLRequest>? = nil) {
         self.responseAdapter = responseAdapter

import Foundation
import RxSwift

public class HttpClient<T> {

    // MARK: - Attributes



    // MARK: - Init

    open func request(request: URLRequest) -> Observable<(T, URLResponse?)> {
        var authenticatedRequest = self.sessionAdapter?.adapt(request) ?? request
        return self.requestDispatcher.dispatch(request: authenticatedRequest)
            .map({self.responseAdapter.adapt($0)!})
