Skip to content

Commit c363392

Browse files
fabianfettdnadoba
authored andcommitted
Make it compile for David
1 parent f0a70cb commit c363392

File tree

4 files changed

+35
-23
lines changed

4 files changed

+35
-23
lines changed

Sources/AsyncHTTPClient/AsyncAwait/AsyncRequest+Validation.swift

+18-16
Original file line numberDiff line numberDiff line change
@@ -101,21 +101,23 @@ extension AsyncRequest {
101101
throw HTTPClientError.chunkedSpecifiedMultipleTimes
102102
}
103103

104-
if encodings.isEmpty {
105-
switch self.body {
106-
case .some(.byteBuffer(let byteBuffer)):
107-
head.headers.add(name: "content-length", value: "\(byteBuffer.readableBytes)")
108-
case .some(bytes(let sequence)):
109-
// if we have a content length header, we assume this was set correctly
110-
if head.headers.contains(name: "content-length") {
111-
112-
} else {
113-
head.headers.add(name: "transfer-encoding", value: "chunked")
114-
}
115-
116-
}
117-
118-
119-
}
104+
// if encodings.isEmpty {
105+
// switch self.body {
106+
// case .some(.byteBuffer(let byteBuffer)):
107+
// head.headers.add(name: "content-length", value: "\(byteBuffer.readableBytes)")
108+
// case .some(bytes(let sequence)):
109+
// // if we have a content length header, we assume this was set correctly
110+
// if head.headers.contains(name: "content-length") {
111+
//
112+
// } else {
113+
// head.headers.add(name: "transfer-encoding", value: "chunked")
114+
// }
115+
//
116+
// }
117+
//
118+
//
119+
// }
120+
121+
preconditionFailure()
120122
}
121123
}

Sources/AsyncHTTPClient/AsyncAwait/AsyncRequestBag.swift

+2
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ actor AsyncRequestBag {
6363
case .none:
6464
self.requestFramingMetadata = .init(connectionClose: false, body: .none)
6565
}
66+
67+
self.poolKey = ConnectionPool.Key(scheme: .http, host: "localhost", port: 123, unixPath: "", tlsConfiguration: nil)
6668
}
6769

6870
nonisolated func cancel() {

Tests/AsyncHTTPClientTests/AsyncRequestTests.swift

+13-6
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,18 @@ import XCTest
2222
final class AsyncRequestTests: XCTestCase {
2323
func testCancelAsyncRequest() async {
2424
let logger = Logger(label: "test")
25+
let embeddedEventLoop = EmbeddedEventLoop()
26+
defer { XCTAssertNoThrow(try embeddedEventLoop.syncShutdownGracefully()) }
2527

2628
var request = AsyncRequest(url: "https://localhost/")
2729
request.method = .GET
2830

2931
let requestBag = AsyncRequestBag(
3032
request: request,
33+
requestOptions: .forTests(),
3134
logger: logger,
3235
connectionDeadline: .distantFuture,
33-
eventLoopPreference: .indifferent
36+
preferredEventLoop: embeddedEventLoop
3437
)
3538

3639
async let result = requestBag.result()
@@ -58,9 +61,10 @@ final class AsyncRequestTests: XCTestCase {
5861

5962
let requestBag = AsyncRequestBag(
6063
request: request,
64+
requestOptions: .forTests(),
6165
logger: logger,
6266
connectionDeadline: .distantFuture,
63-
eventLoopPreference: .indifferent
67+
preferredEventLoop: embeddedEventLoop
6468
)
6569

6670
async let awaitableResponse = requestBag.result()
@@ -128,9 +132,10 @@ final class AsyncRequestTests: XCTestCase {
128132

129133
let requestBag = AsyncRequestBag(
130134
request: request,
135+
requestOptions: .forTests(),
131136
logger: logger,
132137
connectionDeadline: .distantFuture,
133-
eventLoopPreference: .indifferent
138+
preferredEventLoop: embeddedEventLoop
134139
)
135140

136141
async let awaitableResponse = requestBag.result()
@@ -228,9 +233,10 @@ final class AsyncRequestTests: XCTestCase {
228233

229234
let requestBag = AsyncRequestBag(
230235
request: request,
236+
requestOptions: .forTests(),
231237
logger: Logger(label: "test"),
232238
connectionDeadline: .distantFuture,
233-
eventLoopPreference: .indifferent
239+
preferredEventLoop: eventLoopGroup.next()
234240
)
235241

236242
async let awaitableResponse = requestBag.result()
@@ -288,13 +294,14 @@ final class AsyncRequestTests: XCTestCase {
288294

289295
let requestBag = AsyncRequestBag(
290296
request: request,
297+
requestOptions: .forTests(),
291298
logger: Logger(label: "test"),
292299
connectionDeadline: .distantFuture,
293-
eventLoopPreference: .indifferent
300+
preferredEventLoop: eventLoopGroup.next()
294301
)
295302

296303
async let awaitableResponse = requestBag.result()
297-
await Task.yield()
304+
await Task.yield() // yield is used here to ensure register continuation is executed here.
298305

299306
http2Connection.executeRequest(requestBag)
300307

Tests/AsyncHTTPClientTests/RequestBagTests.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
@testable import AsyncHTTPClient
1616
import Logging
1717
import NIOCore
18+
import NIOConcurrencyHelpers
1819
import NIOEmbedded
1920
import NIOHTTP1
2021
import XCTest
@@ -435,7 +436,7 @@ final class RequestBagTests: XCTestCase {
435436
))
436437
guard let bag = maybeRequestBag else { return XCTFail("Expected to be able to create a request bag.") }
437438

438-
let executor = MockRequestExecutor()
439+
let executor = MockRequestExecutor(eventLoop: embeddedEventLoop)
439440
bag.willExecuteRequest(executor)
440441
bag.requestHeadSent()
441442
bag.receiveResponseHead(.init(version: .http1_1, status: .ok))

0 commit comments

Comments
 (0)