Skip to content

AHC can get completely stuck, swallowing errors #217

Closed
@weissi

Description

@weissi

This snippet:

    func testErrorsAreSurfaced() {
        let httpBin = HTTPBin()
        let httpClient = HTTPClient(eventLoopGroupProvider: .shared(self.clientGroup))
        defer {
            XCTAssertNoThrow(try httpClient.syncShutdown())
            XCTAssertNoThrow(try httpBin.shutdown())
        }

        let request = try! HTTPClient.Request(url: "http://localhost:\(httpBin.port)/get",
                                              method: .POST,
                                              body: .stream { streamWriter in
            print("GOT STREAM")
            return httpClient.eventLoopGroup.next().makeSucceededFuture(())
        })
        let runningRequest = httpClient.execute(request: request)
        XCTAssertThrowsError(try runningRequest.wait()) { error in
            print(error)
        }
    }

will just get stuck indefinitely.

Metadata

Metadata

Assignees

Labels

kind/bugFeature doesn't work as expected.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions