Subject: Re: bug#31248: 27.0.50; Regression: Multibyte text in HTTP request

From: Aaron Jensen <[email-masked]>
Date: Mon, 23 Apr 2018 17:47:39 -0700

On Mon, Apr 23, 2018 at 12:54 PM, Lars Ingebrigtsen <[email-masked]> wrote:
> When you get home, can you try the same pull request both with that
> commit and with that commit reverted and see whether it really is that
> commit that's the culprit?  That would help a lot.

Sure--confirmed, reverting 4a6302330384ad89bcfccce6b563eb5462b753a9 fixes it.

> Also setting
> url-debug to t and looking at the *URL-DEBUG* might be helpful...

*URL-DEBUG* doesn't have much afaict:

http -> Found existing connection: api.github.com:443 #<process api.github.com>
http -> Reusing existing connection: api.github.com:443
http -> Marking connection as busy: api.github.com:443 #<process api.github.com>
http -> getting referer from buffer: buffer:#<buffer
*magithub-pull-request: test into org/repo:master*> target-url:#s(url
"https" nil nil "api.github.com" nil "/repos/org/repo/pulls" nil nil t
nil t nil) lastloc:nil
http -> Contacting host: api.github.com:443
http -> Marking connection as busy: api.github.com:443 #<process
api.github.com<1>>
http -> getting referer from buffer: buffer:#<buffer
*magithub-pull-request: test into org/repo:master*> target-url:#s(url
"https" nil nil "api.github.com" nil "/repos/org/repo/pulls" nil nil t
nil t nil) lastloc:nil
http -> url-http-end-of-document-sentinel in buffer ( *http
api.github.com:443*-584054)
http -> Contacting host: api.github.com:443
http -> Marking connection as busy: api.github.com:443 #<process
api.github.com<1>>
http -> getting referer from buffer: buffer:#<buffer  *http
api.github.com:443*-584054> target-url:#s(url "https" nil nil
"api.github.com" nil "/repos/org/repo/pulls" nil nil t nil t nil)
lastloc:nil
http -> url-http-end-of-document-sentinel in buffer ( *http
api.github.com:443*-689368)
http -> Contacting host: api.github.com:443
http -> Marking connection as busy: api.github.com:443 #<process api.github.com>
http -> getting referer from buffer: buffer:#<buffer  *http
api.github.com:443*-689368> target-url:#s(url "https" nil nil
"api.github.com" nil "/repos/org/repo/pulls" nil nil t nil t nil)
lastloc:nil

FWIW, this reproduces it on both master and with the commit reverted:

(let ((url "http://requestbin.fullcontact.com/1kkmrpx1")
      (url-request-method "POST")
      (url-request-data "📦")
      (url-http-extra-headers '())
      (url-http-proxy nil))
  (url-retrieve url (lambda ())))

It seems that perhaps that is expected? I'm not sure what ghub is
doing differently that allows it to pass with your commit reverted...