aboutsummaryrefslogtreecommitdiff
path: root/lib/urldata.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2013-09-12 13:51:04 +0200
committerDaniel Stenberg <daniel@haxx.se>2014-01-29 10:24:05 +0100
commit8d3608f2ad29bb65ce0926a45b46ff29902c279f (patch)
tree1d9ddec9546056b9ad7d6d94b545e0492c7ebe95 /lib/urldata.h
parent8bcf677a30cc1559b635c0eca7dd29ac2ab5f4bb (diff)
http2: handle 101 responses and switch to HTTP2
Diffstat (limited to 'lib/urldata.h')
-rw-r--r--lib/urldata.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index a00894e5c..7cb685707 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -580,7 +580,6 @@ struct Curl_async {
typedef CURLcode (*Curl_do_more_func)(struct connectdata *, int *);
typedef CURLcode (*Curl_done_func)(struct connectdata *, CURLcode, bool);
-
enum expect100 {
EXP100_SEND_DATA, /* enough waiting, just send the body now */
EXP100_AWAITING_CONTINUE, /* waiting for the 100 Continue header */
@@ -589,6 +588,13 @@ enum expect100 {
EXP100_FAILED /* used on 417 Expectation Failed */
};
+enum upgrade101 {
+ UPGR101_INIT, /* default state */
+ UPGR101_REQUESTED, /* upgrade requested */
+ UPGR101_RECEIVED, /* response received */
+ UPGR101_WORKING /* talking upgraded protocol */
+};
+
/*
* Request specific data in the easy handle (SessionHandle). Previously,
* these members were on the connectdata struct but since a conn struct may
@@ -639,6 +645,7 @@ struct SingleRequest {
'RTSP/1.? XXX' line */
struct timeval start100; /* time stamp to wait for the 100 code from */
enum expect100 exp100; /* expect 100 continue state */
+ enum upgrade101 upgr101; /* 101 upgrade state */
int auto_decoding; /* What content encoding. sec 3.5, RFC2616. */