- case 100:
- return "CONTINUE";
- case 101:
- return "SWITCHING PROTOCOLS";
- case 200:
- return "OK";
- case 201:
- return "CREATED";
- case 202:
- return "ACCEPTED";
- case 203:
- return "NON-AUTHORITATIVE INFORMATION";
- case 204:
- return "NO CONTENT";
- case 205:
- return "RESET CONTENT";
- case 206:
- return "PARTIAL CONTENT";
- case 300:
- return "MULTIPLE CHOICES";
- case 301:
- return "MOVED PERMENANTLY";
- case 302:
- return "FOUND";
- case 303:
- return "SEE OTHER";
- case 304:
- return "NOT MODIFIED";
- case 305:
- return "USE PROXY";
- case 307:
- return "TEMPORARY REDIRECT";
- case 400:
- return "BAD REQUEST";
- case 401:
- return "UNAUTHORIZED";
- case 402:
- return "PAYMENT REQUIRED";
- case 403:
- return "FORBIDDEN";
- case 404:
- return "NOT FOUND";
- case 405:
- return "METHOD NOT ALLOWED";
- case 406:
- return "NOT ACCEPTABLE";
- case 407:
- return "PROXY AUTHENTICATION REQUIRED";
- case 408:
- return "REQUEST TIMEOUT";
- case 409:
- return "CONFLICT";
- case 410:
- return "GONE";
- case 411:
- return "LENGTH REQUIRED";
- case 412:
- return "PRECONDITION FAILED";
- case 413:
- return "REQUEST ENTITY TOO LARGE";
- case 414:
- return "REQUEST-URI TOO LONG";
- case 415:
- return "UNSUPPORTED MEDIA TYPE";
- case 416:
- return "REQUESTED RANGE NOT SATISFIABLE";
- case 417:
- return "EXPECTATION FAILED";
- case 500:
- return "INTERNAL SERVER ERROR";
- case 501:
- return "NOT IMPLEMENTED";
- case 502:
- return "BAD GATEWAY";
- case 503:
- return "SERVICE UNAVAILABLE";
- case 504:
- return "GATEWAY TIMEOUT";
- case 505:
- return "HTTP VERSION NOT SUPPORTED";
- default:
- return "WTF";
- break;
+ status_code = HTTP_STATUS_URI_TOO_LONG;
+ return -1;
+ }
+ uri.append(buf, len);
+ return 0;
+ }
+
+ enum { HEADER_NONE, HEADER_FIELD, HEADER_VALUE } header_state;
+ std::string header_field;
+ std::string header_value;
+
+ void OnHeaderComplete()
+ {
+ headers.SetHeader(header_field, header_value);
+ header_field.clear();
+ header_value.clear();
+ }