             throw NetworkClientError.Unknown
         }
         
-        let compositeRequest = NSMutableURLRequest(URL: URL)
+        var compositeRequest = NSMutableURLRequest(URL: URL)
         compositeRequest.HTTPMethod = endpoint.method.rawValue
         
         if let headers = endpoint.headers {

    
    func genericRequest(
        withEndpoint endpoint: EndpointSnapshot) -> Observable<AnyObject> {
        return Observable.create { observer in
            do {
                let request = self.networkManager.request(try self.compositeRequest(withEndpoint: endpoint))
                    .validate(withValidation: endpoint.validation)

        let urlEncodedInBodyParameters = endpoint.getURLEncodedInBodyParameters()
        let jsonEncodedInBodyParameters = endpoint.getJSONEncodedInBodyParameters()
        
        compositeRequest = ParameterEncoding.URLEncodedInURL.encode(compositeRequest, parameters: urlEncodedInUrlParameters).0
        
        guard let urlEncodedRequestCopy = compositeRequest.mutableCopy() as? NSMutableURLRequest else {
            throw NetworkClientError.Unknown
