 import Foundation
 import RxSwift
 
-public class HttpClient<T> {
+open class HttpClient<T> {
 
     // MARK: - Attributes
 


    // MARK: - Init

    public 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)!})


    // MARK: - Init

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