     @discardableResult
     public func head(_ request: URLRequest, completion: @escaping ResultCompletion) -> URLSessionTask {
         var headRequest = request
-        headRequest.httpMethod = HTTPMethod.HEAD.rawValue
+        headRequest.httpMethod = HTTPMethod.head.rawValue
 
         return sendDownloadTask(request: headRequest, downloadTo: nil, downloadProgress: nil, completion: completion)
     }

}

public enum HTTPMethod: String {
    case GET
    case HEAD
    case POST
    case PUT
    case DELETE
}

public enum HTTPResultDataType {

    @discardableResult
    public func get(_ request: URLRequest, downloadTo fileUrl: URL? = nil, downloadProgress: DownloadProgress? = nil, completion: @escaping ResultCompletion) -> URLSessionTask {
        var getRequest = request
        getRequest.httpMethod = HTTPMethod.get.rawValue

        return sendDownloadTask(request: getRequest, downloadTo: fileUrl, downloadProgress: downloadProgress, completion: completion)
    }
