add comment to indicate root cause of the tagResource issue
This commit is contained in:
		
							parent
							
								
									c011f1d7f9
								
							
						
					
					
						commit
						f2a3a967c7
					
				
					 1 changed files with 27 additions and 0 deletions
				
			
		|  | @ -178,6 +178,33 @@ pub const AwsHttp = struct { | |||
|         // defer req.deinit(); | ||||
| 
 | ||||
|         const method = std.meta.stringToEnum(std.http.Method, request_cp.method).?; | ||||
|         // std.Uri has a format function here that is used by start() (below) | ||||
|         // to escape the string we're about to send. But we don't want that... | ||||
|         // we need the control, because the signing above relies on the url above. | ||||
|         // We can't seem to have our cake and eat it too, because we need escaped | ||||
|         // ':' characters, but if we escape them, we'll get them double encoded. | ||||
|         // If we don't escape them, they won't get encoded at all. I believe the | ||||
|         // only answer may be to copy the Request.start function from the | ||||
|         // standard library and tweak the print statements such that they don't | ||||
|         // escape (but do still handle full uri (in proxy) vs path only (normal) | ||||
|         // | ||||
|         // Bug report filed here: | ||||
|         // https://github.com/ziglang/zig/issues/17015 | ||||
|         // | ||||
|         // https://github.com/ziglang/zig/blob/0.11.0/lib/std/http/Client.zig#L538-L636 | ||||
|         // | ||||
|         // Look at lines 551 and 553: | ||||
|         // https://github.com/ziglang/zig/blob/0.11.0/lib/std/http/Client.zig#L551 | ||||
|         // | ||||
|         // This ends up executing the format function here: | ||||
|         // https://github.com/ziglang/zig/blob/0.11.0/lib/std/http/Client.zig#L551 | ||||
|         // | ||||
|         // Which is basically the what we want, without the escaping on lines | ||||
|         // 249, 254, and 260: | ||||
|         // https://github.com/ziglang/zig/blob/0.11.0/lib/std/Uri.zig#L249 | ||||
|         // | ||||
|         // const unescaped_url = try std.Uri.unescapeString(self.allocator, url); | ||||
|         // defer self.allocator.free(unescaped_url); | ||||
|         var req = try cl.request(method, try std.Uri.parse(url), headers, .{}); | ||||
|         defer req.deinit(); | ||||
|         if (request_cp.body.len > 0) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue