                     debugPrint(try JSONSerialization.jsonObject(with: self.request.httpBody!, options: [.mutableLeaves, .mutableContainers]))
                 } catch {
                     debugPrint(error)
-                }
-                
+                }                
             }
         #endif
-        
         queue.async {
             
             self.currentSessionDataTask = self.currentSession.dataTask(with: self.request, completionHandler: { (data, response, error) in

        
        return self.fetchData(success: { (data) in
            do {
                success(try decoder.decode(decodeable, from: data))
            } catch {
                failure(ResponseErrorType.decoding)
            }
            
        }, failure: { (error) in
            failure(error)
        })
        
    }

    @objc @discardableResult func fetchData(success: @escaping (_ response: Data) -> Void, failure: @escaping ResponseErrorBlock) -> URLSessionDataTask {
        
        return self.proceedFetching(success: { (data, response) in
            DispatchQueue.main.async {
                success(data!)
            }
            
        }, failure: { (error) in
            DispatchQueue.main.async {
                failure(error)
            }
            
        })
    }
    
