@@ -40,9 +40,10 @@ extension HTTPClient where Self: ~Copyable {
4040 public func perform< Return: ~ Copyable> (
4141 request: HTTPRequest ,
4242 body: consuming HTTPClientRequestBody < RequestWriter > ? = nil ,
43- options: RequestOptions = . init ( ) ,
43+ options: RequestOptions ? = nil ,
4444 responseHandler: ( HTTPResponse , consuming ResponseConcludingReader ) async throws -> Return ,
4545 ) async throws -> Return {
46+ let options = options ?? self . defaultRequestOptions
4647 return try await self . perform ( request: request, body: body, options: options, responseHandler: responseHandler)
4748 }
4849
@@ -63,10 +64,11 @@ extension HTTPClient where Self: ~Copyable {
6364 public func get(
6465 url: URL ,
6566 headerFields: HTTPFields = [ : ] ,
66- options: RequestOptions = . init ( ) ,
67+ options: RequestOptions ? = nil ,
6768 collectUpTo limit: Int ,
6869 ) async throws -> ( response: HTTPResponse , bodyData: Data ) {
6970 let request = HTTPRequest ( url: url, headerFields: headerFields)
71+ let options = options ?? self . defaultRequestOptions
7072 return try await self . perform ( request: request, body: nil , options: options) { response, body in
7173 (
7274 response,
@@ -94,10 +96,11 @@ extension HTTPClient where Self: ~Copyable {
9496 url: URL ,
9597 headerFields: HTTPFields = [ : ] ,
9698 bodyData: Data ,
97- options: RequestOptions = . init ( ) ,
99+ options: RequestOptions ? = nil ,
98100 collectUpTo limit: Int ,
99101 ) async throws -> ( response: HTTPResponse , bodyData: Data ) {
100102 let request = HTTPRequest ( method: . post, url: url, headerFields: headerFields)
103+ let options = options ?? self . defaultRequestOptions
101104 return try await self . perform ( request: request, body: . data( bodyData) , options: options) { response, body in
102105 (
103106 response,
@@ -125,10 +128,11 @@ extension HTTPClient where Self: ~Copyable {
125128 url: URL ,
126129 headerFields: HTTPFields = [ : ] ,
127130 bodyData: Data ,
128- options: RequestOptions = . init ( ) ,
131+ options: RequestOptions ? = nil ,
129132 collectUpTo limit: Int ,
130133 ) async throws -> ( response: HTTPResponse , bodyData: Data ) {
131134 let request = HTTPRequest ( method: . put, url: url, headerFields: headerFields)
135+ let options = options ?? self . defaultRequestOptions
132136 return try await self . perform ( request: request, body: . data( bodyData) , options: options) { response, body in
133137 (
134138 response,
@@ -156,10 +160,11 @@ extension HTTPClient where Self: ~Copyable {
156160 url: URL ,
157161 headerFields: HTTPFields = [ : ] ,
158162 bodyData: Data ? = nil ,
159- options: RequestOptions = . init ( ) ,
163+ options: RequestOptions ? = nil ,
160164 collectUpTo limit: Int ,
161165 ) async throws -> ( response: HTTPResponse , bodyData: Data ) {
162166 let request = HTTPRequest ( method: . delete, url: url, headerFields: headerFields)
167+ let options = options ?? self . defaultRequestOptions
163168 return try await self . perform ( request: request, body: bodyData. map { . data( $0) } , options: options) { response, body in
164169 (
165170 response,
@@ -187,10 +192,11 @@ extension HTTPClient where Self: ~Copyable {
187192 url: URL ,
188193 headerFields: HTTPFields = [ : ] ,
189194 bodyData: Data ,
190- options: RequestOptions = . init ( ) ,
195+ options: RequestOptions ? = nil ,
191196 collectUpTo limit: Int ,
192197 ) async throws -> ( response: HTTPResponse , bodyData: Data ) {
193198 let request = HTTPRequest ( method: . patch, url: url, headerFields: headerFields)
199+ let options = options ?? self . defaultRequestOptions
194200 return try await self . perform ( request: request, body: . data( bodyData) , options: options) { response, body in
195201 (
196202 response,
0 commit comments