Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Sources/Shared/Toolkit/HTTP/DefaultHTTPClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ public final class DefaultHTTPClient: NSObject, HTTPClient, Loggable, URLSession
return
}

var response = HTTPResponse(response: urlResponse, url: url)
var response = HTTPResponse(request: request, response: urlResponse, url: url)

if let kind = HTTPError.Kind(statusCode: response.statusCode) {
state = .failure(kind: kind, cause: nil, response: response)
Expand Down
9 changes: 7 additions & 2 deletions Sources/Shared/Toolkit/HTTP/HTTPClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ public extension HTTPClient {
/// Represents a successful HTTP response received from a server.
public struct HTTPResponse: Equatable {

/// Request associated with the response.
public let request: HTTPRequest

/// URL for the response, after any redirect.
public let url: URL

Expand All @@ -138,15 +141,16 @@ public struct HTTPResponse: Equatable {
/// Response body content, when available.
public var body: Data?

public init(url: URL, statusCode: Int, headers: [String: String], mediaType: MediaType, body: Data?) {
public init(request: HTTPRequest, url: URL, statusCode: Int, headers: [String: String], mediaType: MediaType, body: Data?) {
self.request = request
self.url = url
self.statusCode = statusCode
self.headers = headers
self.mediaType = mediaType
self.body = body
}

public init(response: HTTPURLResponse, url: URL, body: Data? = nil) {
public init(request: HTTPRequest, response: HTTPURLResponse, url: URL, body: Data? = nil) {
var headers: [String: String] = [:]
for (k, v) in response.allHeaderFields {
if let ks = k as? String, let vs = v as? String {
Expand All @@ -155,6 +159,7 @@ public struct HTTPResponse: Equatable {
}

self.init(
request: request,
url: url,
statusCode: response.statusCode,
headers: headers,
Expand Down