Tatsuhiro Tsujikawa
88705ef80e
http2: Use nghttp2_session_mem_recv and nghttp2_session_upgrade
2014-01-30 17:45:53 +01:00
Daniel Stenberg
83f52a455f
http2: basic version of receiving DATA
2014-01-30 16:09:36 +01:00
Daniel Stenberg
a7affd637f
http2: convert HEADER frames to HTTP1-like headers
...
... and then go through the "normal" HTTP engine.
2014-01-30 15:58:07 +01:00
Daniel Stenberg
93f473c78a
http2: fix EWOULDBLOCK in recv_callback()
2014-01-30 14:31:05 +01:00
Daniel Stenberg
a878cb3056
http2: do the POST Upgrade dance properly
2014-01-30 14:26:00 +01:00
Fabian Frank
dd011df9e1
http2: switch into http2 mode if NPN indicates
...
Check the NPN result before preparing an HTTP request and switch into
HTTP/2.0 mode if necessary. This is a work in progress, the actual code
to prepare and send the request using nghttp2 is still missing from
Curl_http2_send_request().
2014-01-30 11:34:37 +01:00
Daniel Stenberg
8e778887b5
http2: s/Curl_http2_request/Curl_http2_request_upgrade
...
To better reflect its purpose
2014-01-30 11:33:37 +01:00
Daniel Stenberg
c3fe3d9926
http2: added stubs for all nghttp2 callbacks
...
This makes it easier to trace what's happening.
2014-01-30 00:11:56 +01:00
Daniel Stenberg
62e3d66cc6
http2: use FIRSTSOCKET instead of 0 to index the sockets array
2014-01-29 23:47:24 +01:00
Daniel Stenberg
b451c10d1e
http2: receive and log the received header frames
2014-01-29 23:46:20 +01:00
Daniel Stenberg
be84524cc2
http2_recv: log nghttp2 return codes for debugging purposes
2014-01-29 23:20:46 +01:00
Daniel Stenberg
803581d3e0
HTTP2: reject nghttp2 versions before 0.3.0
2014-01-29 22:53:08 +01:00
Gisle Vanem
341d09bc2b
http2: adjusted to newer nghttp2_session_callbacks struct
...
the number of elements in the 'nghttp2_session_callbacks' structure is
now reduced by 2 in version 0.3.0 (I'm not sure when the change
happened, but checking for ver 0.3.0 work for me).
2014-01-29 22:52:22 +01:00
Gisle Vanem
0070f7a09d
HTTP2: Wrong NgHTTP2 user-data
...
Something is wrong in 'userp' for the HTTP2 recv_callback(). The
session is created using bogus user-data; '&conn' and not 'conn'.
I noticed this since the socket-value in Curl_read_plain() was set to a
impossible high value.
2014-01-29 22:50:25 +01:00
Daniel Stenberg
53940f8834
http2: switch recv/send functions to http2 ones after 101
2014-01-29 10:24:05 +01:00
Daniel Stenberg
8d3608f2ad
http2: handle 101 responses and switch to HTTP2
2014-01-29 10:24:05 +01:00
Daniel Stenberg
0d55f4e1bc
http2: use the support HTTP2 draft version in the upgrade header
...
... instead of HTTP/2.0 to work fine with the nghttpx proxy/server.
2013-09-10 23:06:20 +02:00
Daniel Stenberg
2481ac358c
http2: adjust to new nghttp2_pack_settings_payload proto
...
This function was modified in nghttp2 git commit a1c3f89c72e51
2013-09-09 15:18:09 +02:00
Daniel Stenberg
3d60590422
http2: include curl_memory.h
...
Detected by test 1132
2013-09-07 19:48:01 +02:00
Daniel Stenberg
4344fa926a
http2: actually init nghttp2 and send HTTP2-Settings properly
2013-09-07 13:01:43 +02:00
Daniel Stenberg
13dbb41c49
http2: first embryo toward Upgrade:
2013-09-07 11:28:12 +02:00
Gisle Vanem
900ccc26ae
http2: use correct include for snprintf
...
Using the first little merge of nghttp2 into libcurl, I stumbeled on the
missing 'snprintf' in MSVCRT. Isn't this how we do it for other libcurl
files? I.e. use 'curl_msnprintf' and not 'snprintf' directly:
2013-09-06 13:56:35 +02:00
Daniel Stenberg
ac487842a1
http2: add http2.[ch] and add nghttp2 version output
2013-09-04 22:29:38 +02:00