I'm working on a Racket web application for which I need to proxy certain requests to a non-Racket service over HTTP. I've built a very basic proxy on top of http-sendrecv/url that works quite well for the most part.
For POST requests, I pass the request-post-data/raw of the original request as the #:data argument of http-sendrecv/url. However, I've discovered that certain POST requests (specifically involving file uploads) are not working as expected. On these requests, Chrome reports that it is performing a request with a header Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryAJOgATwBujJhhtbY and a payload as follows: ------WebKitFormBoundaryAJOgATwBujJhhtbY Content-Disposition: form-data; name="tool" corpus.CorpusCreator ------WebKitFormBoundaryAJOgATwBujJhhtbY Content-Disposition: form-data; name="palette" default ------WebKitFormBoundaryAJOgATwBujJhhtbY Content-Disposition: form-data; name="textarea-1014-inputEl" Type in one or more URLs on separate lines or paste in a full text. ------WebKitFormBoundaryAJOgATwBujJhhtbY Content-Disposition: form-data; name="upload"; filename="tmp-file.txt" Content-Type: text/plain ------WebKitFormBoundaryAJOgATwBujJhhtbY-- However, at the Racket level, request-post-data/raw returns #f for these requests — but, adding to my confusion, the bindings still show up in request-bindings/raw. Why doesn't this content show up in request-post-data/raw? Is there a way to access the raw, original data for these requests, or do I need to somehow reconstruct it from the bindings? Thanks very much, Philip -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.