Files
2021-06-03 17:59:25 +06:00

57 lines
1.1 KiB
Swift

//
// Response.swift
// Cyberlock
//
// Created by Jura on 8/21/19.
// Copyright © 2019 Omicronmedia. All rights reserved.
//
import Foundation
public struct Response {
public let statusCode: Int?
public let data: Data
public let response: URLResponse?
public var request: URLRequest
#if DEBUG
public var curlString: NSString {
return self.request.curlString
}
#endif
}
// MARK: - cURL
internal extension URLRequest {
var curlString: NSString {
var result = "curl -k "
if let method = httpMethod {
result += "-X \(method) \\\n"
}
if let headers = allHTTPHeaderFields {
for (header, value) in headers {
result += "-H \"\(header): \(value)\" \\\n"
}
}
if let body = httpBody, !body.isEmpty, let string = String(data: body, encoding: .utf8), !string.isEmpty {
result += "-d '\(string)' \\\n"
}
if let url = url {
result += "'\(url.absoluteString)'"
}
return result as NSString
}
}