Browse Source

Add HTTP/2 snippets to all working examples

Loïc Hoguin 9 years ago
parent
commit
def0bc530b

+ 55 - 1
examples/echo_get/README.asciidoc

@@ -12,7 +12,7 @@ Then point your browser to http://localhost:8080/?echo=hello
 You can replace the `echo` parameter with another to check
 You can replace the `echo` parameter with another to check
 that the handler is echoing it back properly.
 that the handler is echoing it back properly.
 
 
-== Example output
+== HTTP/1.1 example output
 
 
 [source,bash]
 [source,bash]
 ----
 ----
@@ -26,3 +26,57 @@ content-type: text/plain; charset=utf-8
 
 
 saymyname
 saymyname
 ----
 ----
+
+== HTTP/2 example output
+
+[source,bash]
+----
+$ nghttp -v "http://localhost:8080/?echo=saymyname"
+[  0.000] Connected
+[  0.000] send SETTINGS frame <length=12, flags=0x00, stream_id=0>
+          (niv=2)
+          [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100]
+          [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535]
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=3>
+          (dep_stream_id=0, weight=201, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=5>
+          (dep_stream_id=0, weight=101, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=7>
+          (dep_stream_id=0, weight=1, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=9>
+          (dep_stream_id=7, weight=1, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=11>
+          (dep_stream_id=3, weight=1, exclusive=0)
+[  0.000] send HEADERS frame <length=51, flags=0x25, stream_id=13>
+          ; END_STREAM | END_HEADERS | PRIORITY
+          (padlen=0, dep_stream_id=11, weight=16, exclusive=0)
+          ; Open new stream
+          :method: GET
+          :path: /?echo=saymyname
+          :scheme: http
+          :authority: localhost:8080
+          accept: */*
+          accept-encoding: gzip, deflate
+          user-agent: nghttp2/1.7.1
+[  0.000] recv SETTINGS frame <length=0, flags=0x00, stream_id=0>
+          (niv=0)
+[  0.000] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
+          ; ACK
+          (niv=0)
+[  0.000] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
+          ; ACK
+          (niv=0)
+[  0.001] recv (stream_id=13) :status: 200
+[  0.001] recv (stream_id=13) content-length: 9
+[  0.001] recv (stream_id=13) content-type: text/plain; charset=utf-8
+[  0.001] recv (stream_id=13) date: Thu, 09 Jun 2016 09:06:05 GMT
+[  0.001] recv (stream_id=13) server: Cowboy
+[  0.001] recv HEADERS frame <length=55, flags=0x04, stream_id=13>
+          ; END_HEADERS
+          (padlen=0)
+          ; First response header
+saymyname[  0.001] recv DATA frame <length=9, flags=0x01, stream_id=13>
+          ; END_STREAM
+[  0.001] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
+          (last_stream_id=0, error_code=NO_ERROR(0x00), opaque_data(0)=[])
+----

+ 60 - 1
examples/echo_post/README.asciidoc

@@ -12,7 +12,7 @@ complex to test. Some browsers feature tools that allow you
 to perform one such request, or you can use the command line
 to perform one such request, or you can use the command line
 tool `curl` as we will demonstrate.
 tool `curl` as we will demonstrate.
 
 
-== Example output
+== HTTP/1.1 example output
 
 
 [source,bash]
 [source,bash]
 ----
 ----
@@ -26,3 +26,62 @@ content-type: text/plain; charset=utf-8
 
 
 echomeplz
 echomeplz
 ----
 ----
+
+== HTTP/2 example output
+
+[source,bash]
+----
+$ echo echo=echomeplz | nghttp -v -d - http://localhost:8080
+[  0.000] Connected
+[  0.000] send SETTINGS frame <length=12, flags=0x00, stream_id=0>
+          (niv=2)
+          [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100]
+          [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535]
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=3>
+          (dep_stream_id=0, weight=201, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=5>
+          (dep_stream_id=0, weight=101, exclusive=0)
+[  0.001] send PRIORITY frame <length=5, flags=0x00, stream_id=7>
+          (dep_stream_id=0, weight=1, exclusive=0)
+[  0.001] send PRIORITY frame <length=5, flags=0x00, stream_id=9>
+          (dep_stream_id=7, weight=1, exclusive=0)
+[  0.001] send PRIORITY frame <length=5, flags=0x00, stream_id=11>
+          (dep_stream_id=3, weight=1, exclusive=0)
+[  0.001] send HEADERS frame <length=43, flags=0x24, stream_id=13>
+          ; END_HEADERS | PRIORITY
+          (padlen=0, dep_stream_id=11, weight=16, exclusive=0)
+          ; Open new stream
+          :method: POST
+          :path: /
+          :scheme: http
+          :authority: localhost:8080
+          accept: */*
+          accept-encoding: gzip, deflate
+          user-agent: nghttp2/1.7.1
+          content-length: 15
+[  0.001] send DATA frame <length=15, flags=0x00, stream_id=13>
+[  0.001] send DATA frame <length=0, flags=0x01, stream_id=13>
+          ; END_STREAM
+[  0.012] recv SETTINGS frame <length=0, flags=0x00, stream_id=0>
+          (niv=0)
+[  0.012] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
+          ; ACK
+          (niv=0)
+[  0.012] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
+          ; ACK
+          (niv=0)
+[  0.020] recv (stream_id=13) :status: 200
+[  0.020] recv (stream_id=13) content-length: 10
+[  0.020] recv (stream_id=13) content-type: text/plain; charset=utf-8
+[  0.020] recv (stream_id=13) date: Thu, 09 Jun 2016 09:19:35 GMT
+[  0.020] recv (stream_id=13) server: Cowboy
+[  0.020] recv HEADERS frame <length=57, flags=0x04, stream_id=13>
+          ; END_HEADERS
+          (padlen=0)
+          ; First response header
+echomeplz
+[  0.020] recv DATA frame <length=10, flags=0x01, stream_id=13>
+          ; END_STREAM
+[  0.020] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
+          (last_stream_id=0, error_code=NO_ERROR(0x00), opaque_data(0)=[])
+----

+ 55 - 1
examples/hello_world/README.asciidoc

@@ -9,7 +9,7 @@ $ make run
 
 
 Then point your browser to http://localhost:8080
 Then point your browser to http://localhost:8080
 
 
-== Example output
+== HTTP/1.1 example output
 
 
 [source,bash]
 [source,bash]
 ----
 ----
@@ -23,3 +23,57 @@ content-type: text/plain
 
 
 Hello world!
 Hello world!
 ----
 ----
+
+== HTTP/2 example output
+
+[source,bash]
+----
+$ nghttp -v http://localhost:8080
+[  0.000] Connected
+[  0.000] send SETTINGS frame <length=12, flags=0x00, stream_id=0>
+          (niv=2)
+          [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100]
+          [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535]
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=3>
+          (dep_stream_id=0, weight=201, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=5>
+          (dep_stream_id=0, weight=101, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=7>
+          (dep_stream_id=0, weight=1, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=9>
+          (dep_stream_id=7, weight=1, exclusive=0)
+[  0.000] send PRIORITY frame <length=5, flags=0x00, stream_id=11>
+          (dep_stream_id=3, weight=1, exclusive=0)
+[  0.000] send HEADERS frame <length=38, flags=0x25, stream_id=13>
+          ; END_STREAM | END_HEADERS | PRIORITY
+          (padlen=0, dep_stream_id=11, weight=16, exclusive=0)
+          ; Open new stream
+          :method: GET
+          :path: /
+          :scheme: http
+          :authority: localhost:8080
+          accept: */*
+          accept-encoding: gzip, deflate
+          user-agent: nghttp2/1.7.1
+[  0.008] recv SETTINGS frame <length=0, flags=0x00, stream_id=0>
+          (niv=0)
+[  0.008] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
+          ; ACK
+          (niv=0)
+[  0.008] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
+          ; ACK
+          (niv=0)
+[  0.013] recv (stream_id=13) :status: 200
+[  0.013] recv (stream_id=13) content-length: 12
+[  0.013] recv (stream_id=13) content-type: text/plain
+[  0.013] recv (stream_id=13) date: Thu, 09 Jun 2016 08:56:56 GMT
+[  0.013] recv (stream_id=13) server: Cowboy
+[  0.013] recv HEADERS frame <length=46, flags=0x04, stream_id=13>
+          ; END_HEADERS
+          (padlen=0)
+          ; First response header
+Hello world![  0.013] recv DATA frame <length=12, flags=0x01, stream_id=13>
+          ; END_STREAM
+[  0.013] send GOAWAY frame <length=8, flags=0x00, stream_id=0>
+          (last_stream_id=0, error_code=NO_ERROR(0x00), opaque_data(0)=[])
+----