Skip to content

Commit ac69f69

Browse files
committed
Adapt unix scheme for sockets
1 parent 41ee04e commit ac69f69

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

Sources/AsyncHTTPClient/HTTPClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ public class HTTPClient {
282282
}
283283

284284
let eventLoopChannel: EventLoopFuture<Channel>
285-
if request.scheme == "file", let baseURL = request.url.baseURL {
285+
if request.scheme == "unix", let baseURL = request.url.baseURL {
286286
eventLoopChannel = bootstrap.connect(unixDomainSocketPath: baseURL.path)
287287
} else {
288288
let address = self.resolveAddress(request: request, proxy: self.configuration.proxy)

Sources/AsyncHTTPClient/HTTPHandler.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ extension HTTPClient {
165165
/// - `unsupportedScheme` if URL does contains unsupported HTTP scheme.
166166
/// - `emptyHost` if URL does not contains a host.
167167
public init(url: URL, method: HTTPMethod = .GET, headers: HTTPHeaders = HTTPHeaders(), body: Body? = nil) throws {
168-
if url.isFileURL {
168+
if url.scheme?.lowercased() == "unix" {
169169
self.value = try UnixDomainRequest(url: url, method: method, headers: headers, body: body)
170170
} else {
171171
self.value = try HostRequest(url: url, method: method, headers: headers, body: body)
@@ -269,12 +269,12 @@ extension HTTPClient {
269269
/// - `unsupportedScheme` if URL does contains unsupported HTTP scheme.
270270
/// - `emptyHost` if URL does not contains a host.
271271
public init(url: URL, method: HTTPMethod = .GET, headers: HTTPHeaders = HTTPHeaders(), body: Body? = nil) throws {
272-
guard url.isFileURL else {
273-
throw HTTPClientError.invalidURL
272+
guard let scheme = url.scheme?.lowercased() else {
273+
throw HTTPClientError.emptyScheme
274274
}
275275

276-
guard let scheme = url.scheme?.lowercased() else {
277-
throw HTTPClientError.emptyScheme
276+
guard scheme == "unix" else {
277+
throw HTTPClientError.invalidURL
278278
}
279279

280280
self.method = method
@@ -286,7 +286,7 @@ extension HTTPClient {
286286
}
287287

288288
static func isSchemeSupported(scheme: String) -> Bool {
289-
return scheme == "file"
289+
return scheme == "unix"
290290
}
291291

292292
}

Tests/AsyncHTTPClientTests/HTTPClientTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class HTTPClientTests: XCTestCase {
4848
let request2 = try Request(url: "https://someserver.com")
4949
XCTAssertEqual(request2.url.path, "")
5050

51-
let request3 = try Request(url: "file:///tmp/file")
51+
let request3 = try Request(url: "unix:///tmp/file")
5252
XCTAssertNil(request3.url.host)
5353
XCTAssertEqual(request3.host, "")
5454
XCTAssertEqual(request3.url.path, "/tmp/file")
@@ -70,7 +70,7 @@ class HTTPClientTests: XCTestCase {
7070

7171
func testSchemaCasing() throws {
7272
XCTAssertNoThrow(try Request(url: "hTTpS://someserver.com:8888/some/path?foo=bar"))
73-
XCTAssertNoThrow(try Request(url: "File://someserver.com:8888/some/path?foo=bar"))
73+
XCTAssertNoThrow(try Request(url: "uNIx:///some/path"))
7474
}
7575

7676
func testGet() throws {

0 commit comments

Comments
 (0)