Skip to content

Commit 85dcc15

Browse files
committed
Set status code & text on request span
1 parent 96e011a commit 85dcc15

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

Sources/AsyncHTTPClient/HTTPClient.swift

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,6 @@ public class HTTPClient {
395395
span.attributes.http.target = request.uri
396396
span.attributes.http.host = request.host
397397

398-
// TODO: http.statusCode response status once request completed
399398
// TODO: net.peer.ip / Not required, but recommended
400399

401400
var request = request
@@ -507,9 +506,15 @@ public class HTTPClient {
507506
connection.release(closing: true, logger: logger)
508507
return channel.eventLoop.makeFailedFuture(error)
509508
}
510-
}.always { _ in
511-
setupComplete.succeed(())
509+
}
510+
.and(task.futureResult)
511+
.always { result in
512+
if case let .success((_, response)) = result, let httpResponse = response as? HTTPClient.Response {
513+
span.attributes.http.statusCode = Int(httpResponse.status.code)
514+
span.attributes.http.statusText = httpResponse.status.reasonPhrase
515+
}
512516
span.end()
517+
setupComplete.succeed(())
513518
}.whenFailure { error in
514519
taskHandler.callOutToDelegateFireAndForget { task in
515520
delegate.didReceiveError(task: task, error)

0 commit comments

Comments
 (0)