Comments (30)
FWIW, I've just repeated this text against my own Phillips Hue bridge with the same result (a different random amount of data is returned each time).
from http.jl.
Hi @cormullion, I think its very valuable to have issue reports relating to IOT devices. Testing with the big 3 desktop/server OSs is good, but the variety of different TPC/IP and HTTP implementations that is out there on embedded devices is huge. Embedded devices tend to have different timing behaviour and different message fragmentation behaviour due to slow micros and small RAM size. It's important to handle them gracefully even if they are not all HTTP compliant.
(BTW: I have hue lights here, so I could test stuff if needed...)
from http.jl.
@samoconnor thank you thank you thank you for posting the debug output! I think I have a better idea of what's going on here. For cases where the server doesn't send an explicit Content-Length
, the protocol states to read until the connection is closed. We were correctly identifying the protocol state (that we should wait until the connection was closed), but we weren't waiting. As soon as we hit that state, we returned, thus leaving bytes on the wire.
If someone could pull #103 and try it out, I'd really appreciate it. Unfortunately httpbin.org
is having issues right now, so I'm having a hard time testing this change out, but I'd love to hear if it solves the issue here.
from http.jl.
You'll have to give a little information as to what seems to be wrong; all I see are two GET requests that both returned 200s. One thing in particular that can be helpful is to run HTTP.get(...; verbose=true)
to see the exact sequence of events while making the request.
from http.jl.
Oh, sorry. The Requests version of get
returns 1488 bytes of information, the HTTP one doesn't appear to return any. I had thought it might be a straightforward swap, but I see it obviously isn't.. No worries, I'll stay with Requests! :)
from http.jl.
I'm more than happy to help debug what's going on; like I mentioned, posting the results of HTTP.get(...; verbose=true)
is a good first step to see what's happening in the actual request. Also, if it's possible to share a public version of the request you're trying to make, I can try to debug further why there's a difference here.
from http.jl.
Cool, thanks. The code (using Requests) is all here. It controls my lights — it would be cool if you could access it from where you are, but perhaps a bit worrying as well... :)
From Requests I get:
julia> response = Requests.get("http://192.168.1.3/api/lSsXQfrm7rC32SQ0/lights/")
Response(200 OK, 14 headers, 1493 bytes in body)
julia> String(response)
"{\"2\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":14988,\"sat\":141,\"effect\":\"none\",\"xy\":[0.4575,0.4101],\"ct\":365,\"alert\":\"none\",\"colormode\":\"xy\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Living room south\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:f6:af:3d-0b\",\"swversion\":\"5.23.1.13452\"},\"3\":{\"state\":
...
uniqueid\":\"00:17:88:01:00:d0:e5:1f-0b\",\"swversion\":\"5.23.1.13452\"}}"
And from HTTP I get:
julia> response = HTTP.get("http://192.168.1.3/api/lSsXQfrm7rC32SQ0/lights/", verbose=true)
[HTTP - 2017-06-12T15:59:26.576]: using default client
[HTTP - 2017-06-12T15:59:26.576]: using request options: :chunksize=>1048576, :gzip=>true, :connecttimeout=>15.0, :readtimeout=>15.0, :tlsconfig=>MbedTLS.SSLConfig(), :maxredirects=>5, :allowredirects=>true, :forwardheaders=>false, :retries=>3
[HTTP - 2017-06-12T15:59:26.576]: checking if any existing connections to '192.168.1.3' are re-usable
[HTTP - 2017-06-12T15:59:26.576]: found dead connection #40 to delete
[HTTP - 2017-06-12T15:59:26.59]: created new connection #41 to '192.168.1.3'
[HTTP - 2017-06-12T15:59:26.59]: sending request over the wire
HTTP.Request:
"""
GET /api/lSsXQfrm7rC32SQ0/lights/ HTTP/1.1
Host: 192.168.1.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json
User-Agent: HTTP.jl/0.0.0
"""
[HTTP - 2017-06-12T15:59:26.59]: waiting for response; will timeout afer 15.0 seconds
[HTTP - 2017-06-12T15:59:26.665]: received bytes from the wire, processing
[HTTP - 2017-06-12T15:59:26.665]: waiting for response; will timeout afer 15.0 seconds
[HTTP - 2017-06-12T15:59:26.666]: received bytes from the wire, processing
[HTTP - 2017-06-12T15:59:26.667]: waiting for response; will timeout afer 15.0 seconds
[HTTP - 2017-06-12T15:59:26.667]: received bytes from the wire, processing
[HTTP - 2017-06-12T15:59:26.668]: closing connection (no keep-alive)
[HTTP - 2017-06-12T15:59:26.67]: received response
HTTP.Response:
"""
HTTP/1.1 200 OK
Connection: close
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, HEAD
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-type: application/json
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Mon, 1 Aug 2011 09:00:00 GMT
Content-Length: 1
Pragma: no-cache
Access-Control-Max-Age: 3600
Access-Control-Allow-Headers: Content-Type
{
"""
HTTP.Response:
"""
HTTP/1.1 200 OK
Connection: close
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, HEAD
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-type: application/json
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Mon, 1 Aug 2011 09:00:00 GMT
Content-Length: 1
Pragma: no-cache
Access-Control-Max-Age: 3600
Access-Control-Allow-Headers: Content-Type
{
"""
julia> String(response)
"{"
from http.jl.
@cormullion if you could get a packet trace using something like Wireshark, I think that might be helpful here so we can compare exactly what goes back and forth.
from http.jl.
I will give it a go...
from http.jl.
I eventually got Wireshark working, but didn't really know what to look for. Will keep at it.
It seems to me that HTTP.get
is doing something that gives different length results each time; the equivalent Requests.get
looks like it does the same thing each time for the same request:
for i in 1:10
@show HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String |> length
sleep(2)
end
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 0
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 132
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 534
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 56
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 132
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 0
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 0
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 0
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 11
(HTTP.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/") |> String) |> length = 132
for i in 1:10
@show readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length
sleep(2)
end
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
readstring(Requests.get("http://192.168.1.3/api/2e4bdae26d734a73aeec4c21d4fd6cb/")) |> length = 24756
from http.jl.
Is it possible for you to expose this web service to the outside world so that we can hit it as well?
from http.jl.
Regarding Wireshark, if you can just record on your machine while you run those commands in Julia, then save a .pcap
file containing all the packet data and post that here, that would be helpful so we can see what is going wrong.
from http.jl.
Here's a pcap file made in Wireshark of the following two Julia commands:
julia> readstring(Requests.get("http://192.168.1.3/api/PHtB7h1lkkDScH9Ln4JJpeke3V3lIqZMV9Ry5PkQ/"))
julia> HTTP.get("http://192.168.1.3/api/PHtB7h1lkkDScH9Ln4JJpeke3V3lIqZMV9Ry5PkQ/")
The first one appears to work, the second one only returns some of the information.
from http.jl.
@quinnj I don't know if you're very familiar with Wireshark, but there's a few interesting nuggets here.
First off, the HTTP request being made by both libraries looks to me to be essentially identical. Sure, there are different User-Agents
, and HTTP.jl
actually says it can accept application/json
whereas Requests.jl
does not say it can, but I don't think these are the interesting parts. The interesting part to me is that HTTP.jl
does not receive a full response! The TCP stream is cutoff mid-transmission because the server stops sending back. The server stops sending because HTTP.jl
sends a TCP RST
packet, out of the blue:
I don't know why this would happen, but it definitely looks to me like something is calling close()
on a socket prematurely. For completeness, here are the TCP streams I got out of Wireshark for the two responses.
from http.jl.
bump
@cormullion Was this issue resolved?
I'm considering moving AWSCore.jl
to HTTP.jl
, but @staticfloat 's suggestion that close()
is being called prematurely is a worry.
I would rather stick with Requests.jl
if there are reliability regressions.
from http.jl.
I haven't tried it again, but I didn't know whether it was just a Philips Hue interface quirk or a strange entanglement with Http.jl. Will look again next week.
from http.jl.
@staticfloat, a big thanks for looking into this. Definitely weird that the premature close
seems to be happening. Could you check again w/ latest master? I just merged in an overhaul of the client-side code that aims to be quite a bit more careful w/ error-handling and connection management.
Also, would you be willing to share how you were able to reproduce? I'd like to be able to take a look myself locally.
from http.jl.
@quinnj I can try running my original code against the latest (using Pkg.checkout(...master)
?) but it won't be before next week when I get back.
Update
On HTTP master and Julia v0.6, this time the same HTTP.get
request stall/hangs, so I Ctrl-C out after 10 minutes. Output:
julia> HTTP.get("http://192.168.1.3/api/PHtB7h1lkkDScH9Ln4JJpeke3V3lIqZMV9Ry5PkQ/", verbose=true)
[HTTP - 2017-08-27T09:11:25.778]: using request options: :chunksize=>1048576, :gzip=>true, :connecttimeout=>15.0, :readtimeout=>15.0, :tlsconfig=>nothing, :maxredirects=>5, :allowredirects=>true, :forwardheaders=>false, :retries=>3, :managecookies=>true, :statusraise=>true
[HTTP - 2017-08-27T09:11:25.911]: making GET request for host: '192.168.1.3' and resource: '/api/PHtB7h1lkkDScH9Ln4JJpeke3V3lIqZMV9Ry5PkQ/'
[HTTP - 2017-08-27T09:11:25.916]: checking if any existing connections to '192.168.1.3' are re-usable
[HTTP - 2017-08-27T09:11:25.927]: found dead connection #1 to delete
[HTTP - 2017-08-27T09:11:25.949]: created new connection #2 to '192.168.1.3'
[HTTP - 2017-08-27T09:11:25.95]: sending request over the wire
HTTP.Request:
GET /api/PHtB7h1lkkDScH9Ln4JJpeke3V3lIqZMV9Ry5PkQ/ HTTP/1.1
Host: 192.168.1.3:80
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json
User-Agent: HTTP.jl/0.0.0
[HTTP - 2017-08-27T09:11:25.973]: received bytes from the wire, processing
[HTTP - 2017-08-27T09:11:25.974]: received bytes from the wire, processing
[HTTP - 2017-08-27T09:11:25.975]: received bytes from the wire, processing
[HTTP - 2017-08-27T09:11:25.976]: closing connection (no keep-alive)
[HTTP - 2017-08-27T09:11:25.976]: received response
HTTP.Response:
"""
HTTP/1.1 200 OK
Connection: close
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, HEAD
Expires: Mon, 1 Aug 2011 09:00:00 GMT
Access-Control-Allow-Headers: Content-Type
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Access-Control-Allow-Credentials: true
Content-Type: application/json
Access-Control-Allow-Origin: *
Pragma: no-cache
Access-Control-Max-Age: 3600
^CError showing value of type HTTP.Response:
ERROR: InterruptException:
process_events at ./libuv.jl:82 [inlined]
wait() at ./event.jl:216
wait(::Condition) at ./event.jl:27
read(::HTTP.FIFOBuffers.FIFOBuffer, ::Int64) at /Users/me/.julia/v0.6/HTTP/src/fifobuffer.jl:144
macro expansion at /Users/me/.julia/v0.6/HTTP/src/types.jl:309 [inlined]
(::HTTP.##17#18{Base.AbstractIOBuffer{Array{UInt8,1}},HTTP.Response})() at ./task.jl:335
Stacktrace:
[1] sync_end() at ./task.jl:287
[2] macro expansion at ./task.jl:303 [inlined]
[3] body(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::HTTP.Response, ::HTTP.RequestOptions) at /Users/me/.julia/v0.6/HTTP/src/types.jl:304
[4] #show#19(::HTTP.RequestOptions, ::Function, ::IOContext{Base.Terminals.TTYTerminal}, ::HTTP.Response) at /Users/me/.julia/v0.6/HTTP/src/types.jl:347
[5] display(::Base.REPL.REPLDisplay{Base.REPL.LineEditREPL}, ::MIME{Symbol("text/plain")}, ::HTTP.Response) at /Users/me/.julia/v0.6/OhMyREPL/src/output_prompt_overwrite.jl:8
[6] display(::Base.REPL.REPLDisplay{Base.REPL.LineEditREPL}, ::HTTP.Response) at ./REPL.jl:125
[7] display(::HTTP.Response) at ./multimedia.jl:194
[8] eval(::Module, ::Any) at ./boot.jl:235
[9] print_response(::Base.Terminals.TTYTerminal, ::Any, ::Void, ::Bool, ::Bool, ::Void) at ./REPL.jl:144
[10] print_response(::Base.REPL.LineEditREPL, ::Any, ::Void, ::Bool, ::Bool) at ./REPL.jl:129
[11] (::Base.REPL.#do_respond#16{Bool,Base.REPL.##26#36{Base.REPL.LineEditREPL,Base.REPL.REPLHistoryProvider},Base.REPL.LineEditREPL,Base.LineEdit.Prompt})(::Base.LineEdit.MIState, ::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Bool) at ./REPL.jl:646
from http.jl.
Unrelated problem suggests that I'm better off with Requests at the moment. Closing for now, will revisit later this year.
from http.jl.
@quinnj Perhaps this issue should be left open (renamed to "HTTP.get request stall/hangs")?
Or is it the same as #85 ?
from http.jl.
@samoconnor I thought perhaps it was just the Hue light interface causing problems. If it's a more general issue, perhaps it's another datapoint.
from http.jl.
@cormullion Is it making the request that was hanging, or just printing the response? A few days ago I encountered hanging when printing the Response
objects resulting from a HTTP.get
to the Hue bridge, but I think that's fixed on latest master.
The issue with subsequent requests getting truncated, apparently due to an early close call, still persists for me.
Maybe we need to pitch in to get quinnj a Hue setup :)
from http.jl.
Has anyone been able to try this/seen any issues on latest HTTP master? It'd be great if we had a repro here to dig into.
from http.jl.
Yes I find the same problems. For example, each time I query the box I get different amounts of the status info returned.
julia> HTTP.get("http://192.168.1.3/api/$pw/") |> String
"{\"lights\":{\"2\":{\"state\":{\"on\":true,\"bri\":215,\"hue\":13548,\"sat\":200,\"effect\":\"none\",\"xy\":[0.5015,0.4153],\"ct\":443,\"alert\":\"none\",\"colormode\":\"xy\",\"reachable\":true},
\"type\":\"Extended color light\",\"name\":\"Living room
south\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:e6:9f:3d-0b\",\"swversion\":\"5.23.1.13452\"},\"3\":{\"state\":{\"on\":true,\"bri\":215,\"hue\":13548,\"sat\":200,\"effect\":\"none\",\"xy\":[0.5015,0.4153],\"ct\":443,\"alert\":\"none\",\"colormode\":\"xy\",\"reachable\":"
julia> HTTP.get("http://192.168.1.3/api/$pw/") |> String
"{\"lights\":{"
julia> HTTP.get("http://192.168.1.3/api/$pw/") |> String
"{\"lights\":{\"2\":{\"state\":{\"on\":true,\"bri\":215,\"hue\":13548,\"sat\":200,\"effect\":\"none\",\"xy\":[0.5015,0.4153],\"ct\":443,\"alert\":\"none\",\"colormode\":\"xy\",\"reachable\":true},\"type\":\"Extended
color light\",\"name\":\"Living room
south\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:e6:9f:3d-0b\",\"swversion\":\"5.23.1.13452\"},\"3\":{\"state\":{\"on\":true,\"bri\":215,\"hue\":13548,\"sat\":200,\"effect\":\"none\",\"xy\":[0.5015,0.4153],\"ct\":443,\"alert\":\"none\",\"colormode\":\"xy\",\"reachable\":true},\"type\":\"Extended
color light\",\"name\":\"Living room
North\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:d0:e5:20-0b\",\"swversion\":\"5.23.1.13452\"},\"5\":{\"state\":{\"on\":true,\"bri\":215,\"alert\":\"none\",\"reachable\":true},\"type\":\"Dimmable
light\",\"name\":\"Hall
kitchen\",\"modelid\":\"LWB004\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:e4:e1:8f-0b\",\"swversion\":\"5.38.2.19136\"},"
julia> Pkg.status("HTTP")
- HTTP 0.4.3+ master
from http.jl.
I just merged a fix for an issue that may be related to this one; in case anyone is willing to try to reproduce this again on current master.
from http.jl.
I'm not seeing any improvement on my particular problem box... :( Sorry...!
julia> for i in 1:10
@show HTTP.get("http://192.168.1.3/api/$pw") |> String |> length
sleep(2)
end
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 309
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 335
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 11
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 336
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 11
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 336
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 661
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 11
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 434
(HTTP.get("http://192.168.1.3/api/$(pw)") |> String) |> length = 171
julia> for i in 1:10
@show readstring(Requests.get("http://192.168.1.3/api/$pw/")) |> length
sleep(2)
end
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
readstring(Requests.get("http://192.168.1.3/api/$(pw)/")) |> length = 18271
julia> Pkg.status("HTTP")
- HTTP 0.5.0+ master
from http.jl.
julia> r = HTTP.get("http://192.168.0.103/api/XXXXXXXXXXX/lights"; verbose=true) |> String
[HTTP - 2017-10-26T22:05:54.506]: using request options:
:chunksize=>nothing
:gzip=>true
:connecttimeout=>15.0
:readtimeout=>15.0
:tlsconfig=>nothing
:maxredirects=>5
:allowredirects=>true
:forwardheaders=>false
:retries=>3
:managecookies=>true
:statusraise=>true
:insecure=>false
[HTTP - 2017-10-26T22:05:54.506]: making GET request for host: '192.168.0.103' and resource: '/api/U1SO4C6ezdhW159bihAJNSCZQz9NBotGJqF-bVPr/lights'
[HTTP - 2017-10-26T22:05:54.506]: checking if any existing connections to '192.168.0.103' are re-usable
[HTTP - 2017-10-26T22:05:54.517]: found dead connection #1 to delete
[HTTP - 2017-10-26T22:05:54.558]: created new connection #2 to '192.168.0.103'
[HTTP - 2017-10-26T22:05:54.558]: sending request over the wire
HTTP.Request:
GET /api/U1SO4C6ezdhW159bihAJNSCZQz9NBotGJqF-bVPr/lights HTTP/1.1
Host: 192.168.0.103:80
User-Agent: HTTP.jl/0.0.0
[HTTP - 2017-10-26T22:05:54.571]: received bytes from the wire, processing
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: len = 17
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_start_req_or_res
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = H
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_start_req_or_res
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:57 ]: onmessagebegin
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = T
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_or_resp_H
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = T
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_HT
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = P
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_HTT
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = /
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_HTTP
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_first_http_major
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = .
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_http_major
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_first_http_minor
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_http_minor
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_first_status_code
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_status_code
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_status_code
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_status_code
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = O
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_status_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = K
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_status
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_status
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:69 ]: onstatus
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_res_line_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: len = 17
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: p = 18
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: this onbody 3
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: exiting maybe unfinished...
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[HTTP - 2017-10-26T22:05:54.586]: received bytes from the wire, processing
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: len = 402
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = h
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 385
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801573
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801574
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = P
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 5
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 5
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = g
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = m
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 313
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801591
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801592
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = E
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = x
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = x
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = p
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = i
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = M
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 294
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801630
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801631
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 3
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = i
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'l'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 's'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'e'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = M
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = x
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = g
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 3
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = 6
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '6'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = '6'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 221
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801679
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801680
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = w
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = O
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = i
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = g
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = i
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = *
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = w
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = d
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = i
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 149
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801751
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801752
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = w
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = M
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = h
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = d
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = P
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = O
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'O'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'O'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 113
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801820
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801821
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = c
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = A
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = l
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = w
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = H
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = d
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = s
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'o'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 44
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801864
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 4984801865
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = C
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parsing header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = o
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 3
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 6
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 6
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 6
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = -
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 6
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = t
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 6
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = y
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = p
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = e
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = :
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:70 ]: onheaderfield
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = a
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_discard_ws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = p
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = 'p'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: parser.header_state = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p]), '\'')) = 'p'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: limit = 16
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_cr) = 4984801896
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Int(p_lf) = 0
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', Char(bytes[p + Int((p_cr - ptr) + 1)]), '\'')) = '\\n'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string('\'', ch, '\'')) = '\\r'
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: lenient = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: isheaderchar(ch) = true
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 1
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:80 ]: onheadervalue2
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: len = 402
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: p = 403
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: this onbody 3
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: exiting maybe unfinished...
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[HTTP - 2017-10-26T22:05:54.653]: received bytes from the wire, processing
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: len = 856
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\r
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_value_lws
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_header_field_start
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = \\n
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_headers_almost_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: checking for upgrade...
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: upgrade = false
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:102 ]: onheaderscomplete
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_headers_done
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_body_identity_eof
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: top of main for-loop
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: Base.escape_string(string(ch)) = {
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_body_identity_eof
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: onheadervalue 4
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: len = 856
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: p = 857
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: this onbody 3
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:103 ]: onbody
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:103 ]: String(r.body) =
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:103 ]: String(bytes[i:j]) = {\"1\":{\"state\":{\"on\":true,\"bri\":220,\"hue\":61212,\"sat\":210,\"effect\":\"none\",\"xy\":[0.5254,0.2768],\"ct\":497,\"alert\":\"none\",\"colormode\":\"hs\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Stairs Up\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:bf:bd:49-0b\",\"swversion\":\"5.23.1.13452\"},\"2\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":9961,\"sat\":254,\"effect\":\"none\",\"xy\":[0.5715,0.3983],\"ct\":500,\"alert\":\"none\",\"colormode\":\"hs\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Hallway\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:b6:22:32-0b\",\"swversion\":\"5.23.1.13452\"},\"3\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":14910,\"sat\":144,\"effect\":\"none\",\"xy\":[0.4596,0.4105],\"ct\":369,\"alert\":\"none\",\"colormode\":\"ct\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Stairs Down\",\"modelid\":\"LCT001\",
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:103 ]: String(r.body) = {\"1\":{\"state\":{\"on\":true,\"bri\":220,\"hue\":61212,\"sat\":210,\"effect\":\"none\",\"xy\":[0.5254,0.2768],\"ct\":497,\"alert\":\"none\",\"colormode\":\"hs\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Stairs Up\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:bf:bd:49-0b\",\"swversion\":\"5.23.1.13452\"},\"2\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":9961,\"sat\":254,\"effect\":\"none\",\"xy\":[0.5715,0.3983],\"ct\":500,\"alert\":\"none\",\"colormode\":\"hs\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Hallway\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:b6:22:32-0b\",\"swversion\":\"5.23.1.13452\"},\"3\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":14910,\"sat\":144,\"effect\":\"none\",\"xy\":[0.4596,0.4105],\"ct\":369,\"alert\":\"none\",\"colormode\":\"ct\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Stairs Down\",\"modelid\":\"LCT001\",
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: exiting maybe unfinished...
[DEBUG - HTTP./Users/sam/.julia/v0.6/HTTP/src/parser.jl:165 ]: ParsingStateCode(p_state) = es_body_identity_eof
[HTTP - 2017-10-26T22:05:54.675]: closing connection (no keep-alive)
[HTTP - 2017-10-26T22:05:54.675]: received response
"{\"1\":{\"state\":{\"on\":true,\"bri\":220,\"hue\":61212,\"sat\":210,\"effect\":\"none\",\"xy\":[0.5254,0.2768],\"ct\":497,\"alert\":\"none\",\"colormode\":\"hs\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Stairs Up\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:bf:bd:49-0b\",\"swversion\":\"5.23.1.13452\"},\"2\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":9961,\"sat\":254,\"effect\":\"none\",\"xy\":[0.5715,0.3983],\"ct\":500,\"alert\":\"none\",\"colormode\":\"hs\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Hallway\",\"modelid\":\"LCT001\",\"manufacturername\":\"Philips\",\"uniqueid\":\"00:17:88:01:00:b6:22:32-0b\",\"swversion\":\"5.23.1.13452\"},\"3\":{\"state\":{\"on\":true,\"bri\":254,\"hue\":14910,\"sat\":144,\"effect\":\"none\",\"xy\":[0.4596,0.4105],\"ct\":369,\"alert\":\"none\",\"colormode\":\"ct\",\"reachable\":true},\"type\":\"Extended color light\",\"name\":\"Stairs Down\",\"modelid\":\"LCT001\","
from http.jl.
exiting maybe unfinished...
looks hopeful...?
from http.jl.
Looks stable now:
$ julia -e 'using HTTP; r = HTTP.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
$ julia -e 'using HTTP; r = HTTP.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
$ julia -e 'using HTTP; r = HTTP.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
But, there is a 4 x slowdown compared to Requests (I assume this is all compilation delay?)
$ time julia -e 'using HTTP; r = HTTP.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
real 0m13.763s
user 0m13.641s
sys 0m0.371s
$ time julia -e 'using HTTP; r = HTTP.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
real 0m13.903s
user 0m13.644s
sys 0m0.352s
$ time julia -e 'using Requests; r = Requests.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
real 0m3.166s
user 0m2.662s
sys 0m0.343s
$ time julia -e 'using Requests; r = Requests.get("http://192.168.0.103/api/XX/lights") |> String |> length |> println'
10206
real 0m3.672s
user 0m2.784s
sys 0m0.336s
from http.jl.
Excellent news! I'm going to merge that PR then.
Yes, there's still a bit of a delay in terms of package loading/precompilation, but it's now weighted more heavily to the upfront package loading instead of initial request call (which should benefit applications which would prefer to have a slower upfront load time). There are also open issues that have been slotted for resolution by 1.0, so I'm optimistic that it will all come out nice in time.
from http.jl.
Related Issues (20)
- Missed semaphore `Base.release(sem)` after failed `accept`
- HTTP.request negates interactive thread usage.
- New release including 040cf0a ? HOT 4
- HTTP Keep-Alive header should be respected with connection pooling
- Server in streaming mode - never wrote a response
- HTTP.get fails on julia 1.11.0-alpha1 HOT 3
- Performance degradation vs curl in Julia API HOT 1
- Response body for redirects not ignored in streaming mode HOT 2
- Character lost in HTTP post response body. HOT 9
- Code failing with Julia dev HOT 9
- [RFC] convenience function to check if websocket has incoming messages
- Can't send 3GB response body
- No method matching sslupgrade HOT 18
- early stop for streaming response
- Suggestions for avoiding issues similar to #1172 and #1104
- gzip / zip bomb mitigation HOT 1
- WebSockets error trace when using PrecompileTools
- Websockets max payload limit
- forwardbody option for redirects
- Illegal instruction on HTTP call
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from http.jl.