/* The file is autogenerated from aiohttp/hdrs.py Run ./tools/gen.py to update it after the origin changing. */ #include "_find_header.h" #define NEXT_CHAR() \ { \ count++; \ if (count == size) { \ /* end of search */ \ return -1; \ } \ pchar++; \ ch = *pchar; \ last = (count == size -1); \ } while(0); int find_header(const char *str, int size) { char *pchar = str; int last; char ch; int count = -1; pchar--; NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto A; case 'a': if (last) { return -1; } goto A; case 'C': if (last) { return -1; } goto C; case 'c': if (last) { return -1; } goto C; case 'D': if (last) { return -1; } goto D; case 'd': if (last) { return -1; } goto D; case 'E': if (last) { return -1; } goto E; case 'e': if (last) { return -1; } goto E; case 'F': if (last) { return -1; } goto F; case 'f': if (last) { return -1; } goto F; case 'H': if (last) { return -1; } goto H; case 'h': if (last) { return -1; } goto H; case 'I': if (last) { return -1; } goto I; case 'i': if (last) { return -1; } goto I; case 'K': if (last) { return -1; } goto K; case 'k': if (last) { return -1; } goto K; case 'L': if (last) { return -1; } goto L; case 'l': if (last) { return -1; } goto L; case 'M': if (last) { return -1; } goto M; case 'm': if (last) { return -1; } goto M; case 'O': if (last) { return -1; } goto O; case 'o': if (last) { return -1; } goto O; case 'P': if (last) { return -1; } goto P; case 'p': if (last) { return -1; } goto P; case 'R': if (last) { return -1; } goto R; case 'r': if (last) { return -1; } goto R; case 'S': if (last) { return -1; } goto S; case 's': if (last) { return -1; } goto S; case 'T': if (last) { return -1; } goto T; case 't': if (last) { return -1; } goto T; case 'U': if (last) { return -1; } goto U; case 'u': if (last) { return -1; } goto U; case 'V': if (last) { return -1; } goto V; case 'v': if (last) { return -1; } goto V; case 'W': if (last) { return -1; } goto W; case 'w': if (last) { return -1; } goto W; case 'X': if (last) { return -1; } goto X; case 'x': if (last) { return -1; } goto X; default: return -1; } A: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto AC; case 'c': if (last) { return -1; } goto AC; case 'G': if (last) { return -1; } goto AG; case 'g': if (last) { return -1; } goto AG; case 'L': if (last) { return -1; } goto AL; case 'l': if (last) { return -1; } goto AL; case 'U': if (last) { return -1; } goto AU; case 'u': if (last) { return -1; } goto AU; default: return -1; } AC: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto ACC; case 'c': if (last) { return -1; } goto ACC; default: return -1; } ACC: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCE; case 'e': if (last) { return -1; } goto ACCE; default: return -1; } ACCE: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto ACCEP; case 'p': if (last) { return -1; } goto ACCEP; case 'S': if (last) { return -1; } goto ACCES; case 's': if (last) { return -1; } goto ACCES; default: return -1; } ACCEP: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 0; } goto ACCEPT; case 't': if (last) { return 0; } goto ACCEPT; default: return -1; } ACCEPT: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCEPT_; default: return -1; } ACCEPT_: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto ACCEPT_C; case 'c': if (last) { return -1; } goto ACCEPT_C; case 'E': if (last) { return -1; } goto ACCEPT_E; case 'e': if (last) { return -1; } goto ACCEPT_E; case 'L': if (last) { return -1; } goto ACCEPT_L; case 'l': if (last) { return -1; } goto ACCEPT_L; case 'R': if (last) { return -1; } goto ACCEPT_R; case 'r': if (last) { return -1; } goto ACCEPT_R; default: return -1; } ACCEPT_C: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto ACCEPT_CH; case 'h': if (last) { return -1; } goto ACCEPT_CH; default: return -1; } ACCEPT_CH: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCEPT_CHA; case 'a': if (last) { return -1; } goto ACCEPT_CHA; default: return -1; } ACCEPT_CHA: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCEPT_CHAR; case 'r': if (last) { return -1; } goto ACCEPT_CHAR; default: return -1; } ACCEPT_CHAR: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto ACCEPT_CHARS; case 's': if (last) { return -1; } goto ACCEPT_CHARS; default: return -1; } ACCEPT_CHARS: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCEPT_CHARSE; case 'e': if (last) { return -1; } goto ACCEPT_CHARSE; default: return -1; } ACCEPT_CHARSE: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 1; } goto ACCEPT_CHARSET; case 't': if (last) { return 1; } goto ACCEPT_CHARSET; default: return -1; } ACCEPT_E: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto ACCEPT_EN; case 'n': if (last) { return -1; } goto ACCEPT_EN; default: return -1; } ACCEPT_EN: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto ACCEPT_ENC; case 'c': if (last) { return -1; } goto ACCEPT_ENC; default: return -1; } ACCEPT_ENC: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCEPT_ENCO; case 'o': if (last) { return -1; } goto ACCEPT_ENCO; default: return -1; } ACCEPT_ENCO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto ACCEPT_ENCOD; case 'd': if (last) { return -1; } goto ACCEPT_ENCOD; default: return -1; } ACCEPT_ENCOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto ACCEPT_ENCODI; case 'i': if (last) { return -1; } goto ACCEPT_ENCODI; default: return -1; } ACCEPT_ENCODI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto ACCEPT_ENCODIN; case 'n': if (last) { return -1; } goto ACCEPT_ENCODIN; default: return -1; } ACCEPT_ENCODIN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return 2; } goto ACCEPT_ENCODING; case 'g': if (last) { return 2; } goto ACCEPT_ENCODING; default: return -1; } ACCEPT_L: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCEPT_LA; case 'a': if (last) { return -1; } goto ACCEPT_LA; default: return -1; } ACCEPT_LA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto ACCEPT_LAN; case 'n': if (last) { return -1; } goto ACCEPT_LAN; default: return -1; } ACCEPT_LAN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto ACCEPT_LANG; case 'g': if (last) { return -1; } goto ACCEPT_LANG; default: return -1; } ACCEPT_LANG: NEXT_CHAR(); switch (ch) { case 'U': if (last) { return -1; } goto ACCEPT_LANGU; case 'u': if (last) { return -1; } goto ACCEPT_LANGU; default: return -1; } ACCEPT_LANGU: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCEPT_LANGUA; case 'a': if (last) { return -1; } goto ACCEPT_LANGUA; default: return -1; } ACCEPT_LANGUA: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto ACCEPT_LANGUAG; case 'g': if (last) { return -1; } goto ACCEPT_LANGUAG; default: return -1; } ACCEPT_LANGUAG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 3; } goto ACCEPT_LANGUAGE; case 'e': if (last) { return 3; } goto ACCEPT_LANGUAGE; default: return -1; } ACCEPT_R: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCEPT_RA; case 'a': if (last) { return -1; } goto ACCEPT_RA; default: return -1; } ACCEPT_RA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto ACCEPT_RAN; case 'n': if (last) { return -1; } goto ACCEPT_RAN; default: return -1; } ACCEPT_RAN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto ACCEPT_RANG; case 'g': if (last) { return -1; } goto ACCEPT_RANG; default: return -1; } ACCEPT_RANG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCEPT_RANGE; case 'e': if (last) { return -1; } goto ACCEPT_RANGE; default: return -1; } ACCEPT_RANGE: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 4; } goto ACCEPT_RANGES; case 's': if (last) { return 4; } goto ACCEPT_RANGES; default: return -1; } ACCES: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto ACCESS; case 's': if (last) { return -1; } goto ACCESS; default: return -1; } ACCESS: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCESS_; default: return -1; } ACCESS_: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto ACCESS_C; case 'c': if (last) { return -1; } goto ACCESS_C; default: return -1; } ACCESS_C: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCESS_CO; case 'o': if (last) { return -1; } goto ACCESS_CO; default: return -1; } ACCESS_CO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto ACCESS_CON; case 'n': if (last) { return -1; } goto ACCESS_CON; default: return -1; } ACCESS_CON: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto ACCESS_CONT; case 't': if (last) { return -1; } goto ACCESS_CONT; default: return -1; } ACCESS_CONT: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCESS_CONTR; case 'r': if (last) { return -1; } goto ACCESS_CONTR; default: return -1; } ACCESS_CONTR: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCESS_CONTRO; case 'o': if (last) { return -1; } goto ACCESS_CONTRO; default: return -1; } ACCESS_CONTRO: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto ACCESS_CONTROL; case 'l': if (last) { return -1; } goto ACCESS_CONTROL; default: return -1; } ACCESS_CONTROL: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCESS_CONTROL_; default: return -1; } ACCESS_CONTROL_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_A; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_A; case 'E': if (last) { return -1; } goto ACCESS_CONTROL_E; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_E; case 'M': if (last) { return -1; } goto ACCESS_CONTROL_M; case 'm': if (last) { return -1; } goto ACCESS_CONTROL_M; case 'R': if (last) { return -1; } goto ACCESS_CONTROL_R; case 'r': if (last) { return -1; } goto ACCESS_CONTROL_R; default: return -1; } ACCESS_CONTROL_A: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto ACCESS_CONTROL_AL; case 'l': if (last) { return -1; } goto ACCESS_CONTROL_AL; default: return -1; } ACCESS_CONTROL_AL: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto ACCESS_CONTROL_ALL; case 'l': if (last) { return -1; } goto ACCESS_CONTROL_ALL; default: return -1; } ACCESS_CONTROL_ALL: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCESS_CONTROL_ALLO; case 'o': if (last) { return -1; } goto ACCESS_CONTROL_ALLO; default: return -1; } ACCESS_CONTROL_ALLO: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW; case 'w': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW; default: return -1; } ACCESS_CONTROL_ALLOW: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_; default: return -1; } ACCESS_CONTROL_ALLOW_: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_C; case 'c': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_C; case 'H': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_H; case 'h': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_H; case 'M': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_M; case 'm': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_M; case 'O': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_O; case 'o': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_O; default: return -1; } ACCESS_CONTROL_ALLOW_C: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CR; case 'r': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CR; default: return -1; } ACCESS_CONTROL_ALLOW_CR: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CRE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CRE; default: return -1; } ACCESS_CONTROL_ALLOW_CRE: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CRED; case 'd': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CRED; default: return -1; } ACCESS_CONTROL_ALLOW_CRED: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDE; default: return -1; } ACCESS_CONTROL_ALLOW_CREDE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDEN; case 'n': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDEN; default: return -1; } ACCESS_CONTROL_ALLOW_CREDEN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENT; case 't': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENT; default: return -1; } ACCESS_CONTROL_ALLOW_CREDENT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENTI; case 'i': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENTI; default: return -1; } ACCESS_CONTROL_ALLOW_CREDENTI: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENTIA; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENTIA; default: return -1; } ACCESS_CONTROL_ALLOW_CREDENTIA: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENTIAL; case 'l': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_CREDENTIAL; default: return -1; } ACCESS_CONTROL_ALLOW_CREDENTIAL: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 5; } goto ACCESS_CONTROL_ALLOW_CREDENTIALS; case 's': if (last) { return 5; } goto ACCESS_CONTROL_ALLOW_CREDENTIALS; default: return -1; } ACCESS_CONTROL_ALLOW_H: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HE; default: return -1; } ACCESS_CONTROL_ALLOW_HE: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEA; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEA; default: return -1; } ACCESS_CONTROL_ALLOW_HEA: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEAD; case 'd': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEAD; default: return -1; } ACCESS_CONTROL_ALLOW_HEAD: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEADE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEADE; default: return -1; } ACCESS_CONTROL_ALLOW_HEADE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEADER; case 'r': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_HEADER; default: return -1; } ACCESS_CONTROL_ALLOW_HEADER: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 6; } goto ACCESS_CONTROL_ALLOW_HEADERS; case 's': if (last) { return 6; } goto ACCESS_CONTROL_ALLOW_HEADERS; default: return -1; } ACCESS_CONTROL_ALLOW_M: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ME; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ME; default: return -1; } ACCESS_CONTROL_ALLOW_ME: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_MET; case 't': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_MET; default: return -1; } ACCESS_CONTROL_ALLOW_MET: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_METH; case 'h': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_METH; default: return -1; } ACCESS_CONTROL_ALLOW_METH: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_METHO; case 'o': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_METHO; default: return -1; } ACCESS_CONTROL_ALLOW_METHO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_METHOD; case 'd': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_METHOD; default: return -1; } ACCESS_CONTROL_ALLOW_METHOD: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 7; } goto ACCESS_CONTROL_ALLOW_METHODS; case 's': if (last) { return 7; } goto ACCESS_CONTROL_ALLOW_METHODS; default: return -1; } ACCESS_CONTROL_ALLOW_O: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_OR; case 'r': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_OR; default: return -1; } ACCESS_CONTROL_ALLOW_OR: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ORI; case 'i': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ORI; default: return -1; } ACCESS_CONTROL_ALLOW_ORI: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ORIG; case 'g': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ORIG; default: return -1; } ACCESS_CONTROL_ALLOW_ORIG: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ORIGI; case 'i': if (last) { return -1; } goto ACCESS_CONTROL_ALLOW_ORIGI; default: return -1; } ACCESS_CONTROL_ALLOW_ORIGI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 8; } goto ACCESS_CONTROL_ALLOW_ORIGIN; case 'n': if (last) { return 8; } goto ACCESS_CONTROL_ALLOW_ORIGIN; default: return -1; } ACCESS_CONTROL_E: NEXT_CHAR(); switch (ch) { case 'X': if (last) { return -1; } goto ACCESS_CONTROL_EX; case 'x': if (last) { return -1; } goto ACCESS_CONTROL_EX; default: return -1; } ACCESS_CONTROL_EX: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto ACCESS_CONTROL_EXP; case 'p': if (last) { return -1; } goto ACCESS_CONTROL_EXP; default: return -1; } ACCESS_CONTROL_EXP: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCESS_CONTROL_EXPO; case 'o': if (last) { return -1; } goto ACCESS_CONTROL_EXPO; default: return -1; } ACCESS_CONTROL_EXPO: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto ACCESS_CONTROL_EXPOS; case 's': if (last) { return -1; } goto ACCESS_CONTROL_EXPOS; default: return -1; } ACCESS_CONTROL_EXPOS: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE; default: return -1; } ACCESS_CONTROL_EXPOSE: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_; default: return -1; } ACCESS_CONTROL_EXPOSE_: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_H; case 'h': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_H; default: return -1; } ACCESS_CONTROL_EXPOSE_H: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HE; default: return -1; } ACCESS_CONTROL_EXPOSE_HE: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEA; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEA; default: return -1; } ACCESS_CONTROL_EXPOSE_HEA: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEAD; case 'd': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEAD; default: return -1; } ACCESS_CONTROL_EXPOSE_HEAD: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEADE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEADE; default: return -1; } ACCESS_CONTROL_EXPOSE_HEADE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEADER; case 'r': if (last) { return -1; } goto ACCESS_CONTROL_EXPOSE_HEADER; default: return -1; } ACCESS_CONTROL_EXPOSE_HEADER: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 9; } goto ACCESS_CONTROL_EXPOSE_HEADERS; case 's': if (last) { return 9; } goto ACCESS_CONTROL_EXPOSE_HEADERS; default: return -1; } ACCESS_CONTROL_M: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_MA; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_MA; default: return -1; } ACCESS_CONTROL_MA: NEXT_CHAR(); switch (ch) { case 'X': if (last) { return -1; } goto ACCESS_CONTROL_MAX; case 'x': if (last) { return -1; } goto ACCESS_CONTROL_MAX; default: return -1; } ACCESS_CONTROL_MAX: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCESS_CONTROL_MAX_; default: return -1; } ACCESS_CONTROL_MAX_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_MAX_A; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_MAX_A; default: return -1; } ACCESS_CONTROL_MAX_A: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto ACCESS_CONTROL_MAX_AG; case 'g': if (last) { return -1; } goto ACCESS_CONTROL_MAX_AG; default: return -1; } ACCESS_CONTROL_MAX_AG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 10; } goto ACCESS_CONTROL_MAX_AGE; case 'e': if (last) { return 10; } goto ACCESS_CONTROL_MAX_AGE; default: return -1; } ACCESS_CONTROL_R: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_RE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_RE; default: return -1; } ACCESS_CONTROL_RE: NEXT_CHAR(); switch (ch) { case 'Q': if (last) { return -1; } goto ACCESS_CONTROL_REQ; case 'q': if (last) { return -1; } goto ACCESS_CONTROL_REQ; default: return -1; } ACCESS_CONTROL_REQ: NEXT_CHAR(); switch (ch) { case 'U': if (last) { return -1; } goto ACCESS_CONTROL_REQU; case 'u': if (last) { return -1; } goto ACCESS_CONTROL_REQU; default: return -1; } ACCESS_CONTROL_REQU: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_REQUE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_REQUE; default: return -1; } ACCESS_CONTROL_REQUE: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto ACCESS_CONTROL_REQUES; case 's': if (last) { return -1; } goto ACCESS_CONTROL_REQUES; default: return -1; } ACCESS_CONTROL_REQUES: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST; case 't': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST; default: return -1; } ACCESS_CONTROL_REQUEST: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_; default: return -1; } ACCESS_CONTROL_REQUEST_: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_H; case 'h': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_H; case 'M': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_M; case 'm': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_M; default: return -1; } ACCESS_CONTROL_REQUEST_H: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HE; default: return -1; } ACCESS_CONTROL_REQUEST_HE: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEA; case 'a': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEA; default: return -1; } ACCESS_CONTROL_REQUEST_HEA: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEAD; case 'd': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEAD; default: return -1; } ACCESS_CONTROL_REQUEST_HEAD: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEADE; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEADE; default: return -1; } ACCESS_CONTROL_REQUEST_HEADE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEADER; case 'r': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_HEADER; default: return -1; } ACCESS_CONTROL_REQUEST_HEADER: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 11; } goto ACCESS_CONTROL_REQUEST_HEADERS; case 's': if (last) { return 11; } goto ACCESS_CONTROL_REQUEST_HEADERS; default: return -1; } ACCESS_CONTROL_REQUEST_M: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_ME; case 'e': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_ME; default: return -1; } ACCESS_CONTROL_REQUEST_ME: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_MET; case 't': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_MET; default: return -1; } ACCESS_CONTROL_REQUEST_MET: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_METH; case 'h': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_METH; default: return -1; } ACCESS_CONTROL_REQUEST_METH: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_METHO; case 'o': if (last) { return -1; } goto ACCESS_CONTROL_REQUEST_METHO; default: return -1; } ACCESS_CONTROL_REQUEST_METHO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return 12; } goto ACCESS_CONTROL_REQUEST_METHOD; case 'd': if (last) { return 12; } goto ACCESS_CONTROL_REQUEST_METHOD; default: return -1; } AG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 13; } goto AGE; case 'e': if (last) { return 13; } goto AGE; default: return -1; } AL: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto ALL; case 'l': if (last) { return -1; } goto ALL; default: return -1; } ALL: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto ALLO; case 'o': if (last) { return -1; } goto ALLO; default: return -1; } ALLO: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return 14; } goto ALLOW; case 'w': if (last) { return 14; } goto ALLOW; default: return -1; } AU: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto AUT; case 't': if (last) { return -1; } goto AUT; default: return -1; } AUT: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto AUTH; case 'h': if (last) { return -1; } goto AUTH; default: return -1; } AUTH: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto AUTHO; case 'o': if (last) { return -1; } goto AUTHO; default: return -1; } AUTHO: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto AUTHOR; case 'r': if (last) { return -1; } goto AUTHOR; default: return -1; } AUTHOR: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto AUTHORI; case 'i': if (last) { return -1; } goto AUTHORI; default: return -1; } AUTHORI: NEXT_CHAR(); switch (ch) { case 'Z': if (last) { return -1; } goto AUTHORIZ; case 'z': if (last) { return -1; } goto AUTHORIZ; default: return -1; } AUTHORIZ: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto AUTHORIZA; case 'a': if (last) { return -1; } goto AUTHORIZA; default: return -1; } AUTHORIZA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto AUTHORIZAT; case 't': if (last) { return -1; } goto AUTHORIZAT; default: return -1; } AUTHORIZAT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto AUTHORIZATI; case 'i': if (last) { return -1; } goto AUTHORIZATI; default: return -1; } AUTHORIZATI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto AUTHORIZATIO; case 'o': if (last) { return -1; } goto AUTHORIZATIO; default: return -1; } AUTHORIZATIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 15; } goto AUTHORIZATION; case 'n': if (last) { return 15; } goto AUTHORIZATION; default: return -1; } C: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto CA; case 'a': if (last) { return -1; } goto CA; case 'O': if (last) { return -1; } goto CO; case 'o': if (last) { return -1; } goto CO; default: return -1; } CA: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto CAC; case 'c': if (last) { return -1; } goto CAC; default: return -1; } CAC: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto CACH; case 'h': if (last) { return -1; } goto CACH; default: return -1; } CACH: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto CACHE; case 'e': if (last) { return -1; } goto CACHE; default: return -1; } CACHE: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto CACHE_; default: return -1; } CACHE_: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto CACHE_C; case 'c': if (last) { return -1; } goto CACHE_C; default: return -1; } CACHE_C: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CACHE_CO; case 'o': if (last) { return -1; } goto CACHE_CO; default: return -1; } CACHE_CO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CACHE_CON; case 'n': if (last) { return -1; } goto CACHE_CON; default: return -1; } CACHE_CON: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto CACHE_CONT; case 't': if (last) { return -1; } goto CACHE_CONT; default: return -1; } CACHE_CONT: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto CACHE_CONTR; case 'r': if (last) { return -1; } goto CACHE_CONTR; default: return -1; } CACHE_CONTR: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CACHE_CONTRO; case 'o': if (last) { return -1; } goto CACHE_CONTRO; default: return -1; } CACHE_CONTRO: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return 16; } goto CACHE_CONTROL; case 'l': if (last) { return 16; } goto CACHE_CONTROL; default: return -1; } CO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CON; case 'n': if (last) { return -1; } goto CON; case 'O': if (last) { return -1; } goto COO; case 'o': if (last) { return -1; } goto COO; default: return -1; } CON: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONN; case 'n': if (last) { return -1; } goto CONN; case 'T': if (last) { return -1; } goto CONT; case 't': if (last) { return -1; } goto CONT; default: return -1; } CONN: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto CONNE; case 'e': if (last) { return -1; } goto CONNE; default: return -1; } CONNE: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto CONNEC; case 'c': if (last) { return -1; } goto CONNEC; default: return -1; } CONNEC: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto CONNECT; case 't': if (last) { return -1; } goto CONNECT; default: return -1; } CONNECT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONNECTI; case 'i': if (last) { return -1; } goto CONNECTI; default: return -1; } CONNECTI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CONNECTIO; case 'o': if (last) { return -1; } goto CONNECTIO; default: return -1; } CONNECTIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 17; } goto CONNECTION; case 'n': if (last) { return 17; } goto CONNECTION; default: return -1; } CONT: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto CONTE; case 'e': if (last) { return -1; } goto CONTE; default: return -1; } CONTE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTEN; case 'n': if (last) { return -1; } goto CONTEN; default: return -1; } CONTEN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto CONTENT; case 't': if (last) { return -1; } goto CONTENT; default: return -1; } CONTENT: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto CONTENT_; default: return -1; } CONTENT_: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto CONTENT_D; case 'd': if (last) { return -1; } goto CONTENT_D; case 'E': if (last) { return -1; } goto CONTENT_E; case 'e': if (last) { return -1; } goto CONTENT_E; case 'L': if (last) { return -1; } goto CONTENT_L; case 'l': if (last) { return -1; } goto CONTENT_L; case 'M': if (last) { return -1; } goto CONTENT_M; case 'm': if (last) { return -1; } goto CONTENT_M; case 'R': if (last) { return -1; } goto CONTENT_R; case 'r': if (last) { return -1; } goto CONTENT_R; case 'T': if (last) { return -1; } goto CONTENT_T; case 't': if (last) { return -1; } goto CONTENT_T; default: return -1; } CONTENT_D: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONTENT_DI; case 'i': if (last) { return -1; } goto CONTENT_DI; default: return -1; } CONTENT_DI: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto CONTENT_DIS; case 's': if (last) { return -1; } goto CONTENT_DIS; default: return -1; } CONTENT_DIS: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto CONTENT_DISP; case 'p': if (last) { return -1; } goto CONTENT_DISP; default: return -1; } CONTENT_DISP: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CONTENT_DISPO; case 'o': if (last) { return -1; } goto CONTENT_DISPO; default: return -1; } CONTENT_DISPO: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto CONTENT_DISPOS; case 's': if (last) { return -1; } goto CONTENT_DISPOS; default: return -1; } CONTENT_DISPOS: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONTENT_DISPOSI; case 'i': if (last) { return -1; } goto CONTENT_DISPOSI; default: return -1; } CONTENT_DISPOSI: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto CONTENT_DISPOSIT; case 't': if (last) { return -1; } goto CONTENT_DISPOSIT; default: return -1; } CONTENT_DISPOSIT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONTENT_DISPOSITI; case 'i': if (last) { return -1; } goto CONTENT_DISPOSITI; default: return -1; } CONTENT_DISPOSITI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CONTENT_DISPOSITIO; case 'o': if (last) { return -1; } goto CONTENT_DISPOSITIO; default: return -1; } CONTENT_DISPOSITIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 18; } goto CONTENT_DISPOSITION; case 'n': if (last) { return 18; } goto CONTENT_DISPOSITION; default: return -1; } CONTENT_E: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_EN; case 'n': if (last) { return -1; } goto CONTENT_EN; default: return -1; } CONTENT_EN: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto CONTENT_ENC; case 'c': if (last) { return -1; } goto CONTENT_ENC; default: return -1; } CONTENT_ENC: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CONTENT_ENCO; case 'o': if (last) { return -1; } goto CONTENT_ENCO; default: return -1; } CONTENT_ENCO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto CONTENT_ENCOD; case 'd': if (last) { return -1; } goto CONTENT_ENCOD; default: return -1; } CONTENT_ENCOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONTENT_ENCODI; case 'i': if (last) { return -1; } goto CONTENT_ENCODI; default: return -1; } CONTENT_ENCODI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_ENCODIN; case 'n': if (last) { return -1; } goto CONTENT_ENCODIN; default: return -1; } CONTENT_ENCODIN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return 19; } goto CONTENT_ENCODING; case 'g': if (last) { return 19; } goto CONTENT_ENCODING; default: return -1; } CONTENT_L: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto CONTENT_LA; case 'a': if (last) { return -1; } goto CONTENT_LA; case 'E': if (last) { return -1; } goto CONTENT_LE; case 'e': if (last) { return -1; } goto CONTENT_LE; case 'O': if (last) { return -1; } goto CONTENT_LO; case 'o': if (last) { return -1; } goto CONTENT_LO; default: return -1; } CONTENT_LA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_LAN; case 'n': if (last) { return -1; } goto CONTENT_LAN; default: return -1; } CONTENT_LAN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto CONTENT_LANG; case 'g': if (last) { return -1; } goto CONTENT_LANG; default: return -1; } CONTENT_LANG: NEXT_CHAR(); switch (ch) { case 'U': if (last) { return -1; } goto CONTENT_LANGU; case 'u': if (last) { return -1; } goto CONTENT_LANGU; default: return -1; } CONTENT_LANGU: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto CONTENT_LANGUA; case 'a': if (last) { return -1; } goto CONTENT_LANGUA; default: return -1; } CONTENT_LANGUA: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto CONTENT_LANGUAG; case 'g': if (last) { return -1; } goto CONTENT_LANGUAG; default: return -1; } CONTENT_LANGUAG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 20; } goto CONTENT_LANGUAGE; case 'e': if (last) { return 20; } goto CONTENT_LANGUAGE; default: return -1; } CONTENT_LE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_LEN; case 'n': if (last) { return -1; } goto CONTENT_LEN; default: return -1; } CONTENT_LEN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto CONTENT_LENG; case 'g': if (last) { return -1; } goto CONTENT_LENG; default: return -1; } CONTENT_LENG: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto CONTENT_LENGT; case 't': if (last) { return -1; } goto CONTENT_LENGT; default: return -1; } CONTENT_LENGT: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return 21; } goto CONTENT_LENGTH; case 'h': if (last) { return 21; } goto CONTENT_LENGTH; default: return -1; } CONTENT_LO: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto CONTENT_LOC; case 'c': if (last) { return -1; } goto CONTENT_LOC; default: return -1; } CONTENT_LOC: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto CONTENT_LOCA; case 'a': if (last) { return -1; } goto CONTENT_LOCA; default: return -1; } CONTENT_LOCA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto CONTENT_LOCAT; case 't': if (last) { return -1; } goto CONTENT_LOCAT; default: return -1; } CONTENT_LOCAT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONTENT_LOCATI; case 'i': if (last) { return -1; } goto CONTENT_LOCATI; default: return -1; } CONTENT_LOCATI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CONTENT_LOCATIO; case 'o': if (last) { return -1; } goto CONTENT_LOCATIO; default: return -1; } CONTENT_LOCATIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 22; } goto CONTENT_LOCATION; case 'n': if (last) { return 22; } goto CONTENT_LOCATION; default: return -1; } CONTENT_M: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto CONTENT_MD; case 'd': if (last) { return -1; } goto CONTENT_MD; default: return -1; } CONTENT_MD: NEXT_CHAR(); switch (ch) { case '5': if (last) { return 23; } goto CONTENT_MD5; default: return -1; } CONTENT_R: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto CONTENT_RA; case 'a': if (last) { return -1; } goto CONTENT_RA; default: return -1; } CONTENT_RA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_RAN; case 'n': if (last) { return -1; } goto CONTENT_RAN; default: return -1; } CONTENT_RAN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto CONTENT_RANG; case 'g': if (last) { return -1; } goto CONTENT_RANG; default: return -1; } CONTENT_RANG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 24; } goto CONTENT_RANGE; case 'e': if (last) { return 24; } goto CONTENT_RANGE; default: return -1; } CONTENT_T: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto CONTENT_TR; case 'r': if (last) { return -1; } goto CONTENT_TR; case 'Y': if (last) { return -1; } goto CONTENT_TY; case 'y': if (last) { return -1; } goto CONTENT_TY; default: return -1; } CONTENT_TR: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto CONTENT_TRA; case 'a': if (last) { return -1; } goto CONTENT_TRA; default: return -1; } CONTENT_TRA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_TRAN; case 'n': if (last) { return -1; } goto CONTENT_TRAN; default: return -1; } CONTENT_TRAN: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto CONTENT_TRANS; case 's': if (last) { return -1; } goto CONTENT_TRANS; default: return -1; } CONTENT_TRANS: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto CONTENT_TRANSF; case 'f': if (last) { return -1; } goto CONTENT_TRANSF; default: return -1; } CONTENT_TRANSF: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto CONTENT_TRANSFE; case 'e': if (last) { return -1; } goto CONTENT_TRANSFE; default: return -1; } CONTENT_TRANSFE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto CONTENT_TRANSFER; case 'r': if (last) { return -1; } goto CONTENT_TRANSFER; default: return -1; } CONTENT_TRANSFER: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto CONTENT_TRANSFER_; default: return -1; } CONTENT_TRANSFER_: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto CONTENT_TRANSFER_E; case 'e': if (last) { return -1; } goto CONTENT_TRANSFER_E; default: return -1; } CONTENT_TRANSFER_E: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_TRANSFER_EN; case 'n': if (last) { return -1; } goto CONTENT_TRANSFER_EN; default: return -1; } CONTENT_TRANSFER_EN: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto CONTENT_TRANSFER_ENC; case 'c': if (last) { return -1; } goto CONTENT_TRANSFER_ENC; default: return -1; } CONTENT_TRANSFER_ENC: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto CONTENT_TRANSFER_ENCO; case 'o': if (last) { return -1; } goto CONTENT_TRANSFER_ENCO; default: return -1; } CONTENT_TRANSFER_ENCO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto CONTENT_TRANSFER_ENCOD; case 'd': if (last) { return -1; } goto CONTENT_TRANSFER_ENCOD; default: return -1; } CONTENT_TRANSFER_ENCOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto CONTENT_TRANSFER_ENCODI; case 'i': if (last) { return -1; } goto CONTENT_TRANSFER_ENCODI; default: return -1; } CONTENT_TRANSFER_ENCODI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto CONTENT_TRANSFER_ENCODIN; case 'n': if (last) { return -1; } goto CONTENT_TRANSFER_ENCODIN; default: return -1; } CONTENT_TRANSFER_ENCODIN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return 25; } goto CONTENT_TRANSFER_ENCODING; case 'g': if (last) { return 25; } goto CONTENT_TRANSFER_ENCODING; default: return -1; } CONTENT_TY: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto CONTENT_TYP; case 'p': if (last) { return -1; } goto CONTENT_TYP; default: return -1; } CONTENT_TYP: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 26; } goto CONTENT_TYPE; case 'e': if (last) { return 26; } goto CONTENT_TYPE; default: return -1; } COO: NEXT_CHAR(); switch (ch) { case 'K': if (last) { return -1; } goto COOK; case 'k': if (last) { return -1; } goto COOK; default: return -1; } COOK: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto COOKI; case 'i': if (last) { return -1; } goto COOKI; default: return -1; } COOKI: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 27; } goto COOKIE; case 'e': if (last) { return 27; } goto COOKIE; default: return -1; } D: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto DA; case 'a': if (last) { return -1; } goto DA; case 'E': if (last) { return -1; } goto DE; case 'e': if (last) { return -1; } goto DE; case 'I': if (last) { return -1; } goto DI; case 'i': if (last) { return -1; } goto DI; default: return -1; } DA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto DAT; case 't': if (last) { return -1; } goto DAT; default: return -1; } DAT: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 28; } goto DATE; case 'e': if (last) { return 28; } goto DATE; default: return -1; } DE: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto DES; case 's': if (last) { return -1; } goto DES; default: return -1; } DES: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto DEST; case 't': if (last) { return -1; } goto DEST; default: return -1; } DEST: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto DESTI; case 'i': if (last) { return -1; } goto DESTI; default: return -1; } DESTI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto DESTIN; case 'n': if (last) { return -1; } goto DESTIN; default: return -1; } DESTIN: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto DESTINA; case 'a': if (last) { return -1; } goto DESTINA; default: return -1; } DESTINA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto DESTINAT; case 't': if (last) { return -1; } goto DESTINAT; default: return -1; } DESTINAT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto DESTINATI; case 'i': if (last) { return -1; } goto DESTINATI; default: return -1; } DESTINATI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto DESTINATIO; case 'o': if (last) { return -1; } goto DESTINATIO; default: return -1; } DESTINATIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 29; } goto DESTINATION; case 'n': if (last) { return 29; } goto DESTINATION; default: return -1; } DI: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto DIG; case 'g': if (last) { return -1; } goto DIG; default: return -1; } DIG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto DIGE; case 'e': if (last) { return -1; } goto DIGE; default: return -1; } DIGE: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto DIGES; case 's': if (last) { return -1; } goto DIGES; default: return -1; } DIGES: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 30; } goto DIGEST; case 't': if (last) { return 30; } goto DIGEST; default: return -1; } E: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto ET; case 't': if (last) { return -1; } goto ET; case 'X': if (last) { return -1; } goto EX; case 'x': if (last) { return -1; } goto EX; default: return -1; } ET: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto ETA; case 'a': if (last) { return -1; } goto ETA; default: return -1; } ETA: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return 31; } goto ETAG; case 'g': if (last) { return 31; } goto ETAG; default: return -1; } EX: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto EXP; case 'p': if (last) { return -1; } goto EXP; default: return -1; } EXP: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto EXPE; case 'e': if (last) { return -1; } goto EXPE; case 'I': if (last) { return -1; } goto EXPI; case 'i': if (last) { return -1; } goto EXPI; default: return -1; } EXPE: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto EXPEC; case 'c': if (last) { return -1; } goto EXPEC; default: return -1; } EXPEC: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 32; } goto EXPECT; case 't': if (last) { return 32; } goto EXPECT; default: return -1; } EXPI: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto EXPIR; case 'r': if (last) { return -1; } goto EXPIR; default: return -1; } EXPIR: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto EXPIRE; case 'e': if (last) { return -1; } goto EXPIRE; default: return -1; } EXPIRE: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 33; } goto EXPIRES; case 's': if (last) { return 33; } goto EXPIRES; default: return -1; } F: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto FO; case 'o': if (last) { return -1; } goto FO; case 'R': if (last) { return -1; } goto FR; case 'r': if (last) { return -1; } goto FR; default: return -1; } FO: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto FOR; case 'r': if (last) { return -1; } goto FOR; default: return -1; } FOR: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto FORW; case 'w': if (last) { return -1; } goto FORW; default: return -1; } FORW: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto FORWA; case 'a': if (last) { return -1; } goto FORWA; default: return -1; } FORWA: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto FORWAR; case 'r': if (last) { return -1; } goto FORWAR; default: return -1; } FORWAR: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto FORWARD; case 'd': if (last) { return -1; } goto FORWARD; default: return -1; } FORWARD: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto FORWARDE; case 'e': if (last) { return -1; } goto FORWARDE; default: return -1; } FORWARDE: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return 34; } goto FORWARDED; case 'd': if (last) { return 34; } goto FORWARDED; default: return -1; } FR: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto FRO; case 'o': if (last) { return -1; } goto FRO; default: return -1; } FRO: NEXT_CHAR(); switch (ch) { case 'M': if (last) { return 35; } goto FROM; case 'm': if (last) { return 35; } goto FROM; default: return -1; } H: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto HO; case 'o': if (last) { return -1; } goto HO; default: return -1; } HO: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto HOS; case 's': if (last) { return -1; } goto HOS; default: return -1; } HOS: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 36; } goto HOST; case 't': if (last) { return 36; } goto HOST; default: return -1; } I: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto IF; case 'f': if (last) { return -1; } goto IF; default: return -1; } IF: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto IF_; default: return -1; } IF_: NEXT_CHAR(); switch (ch) { case 'M': if (last) { return -1; } goto IF_M; case 'm': if (last) { return -1; } goto IF_M; case 'N': if (last) { return -1; } goto IF_N; case 'n': if (last) { return -1; } goto IF_N; case 'R': if (last) { return -1; } goto IF_R; case 'r': if (last) { return -1; } goto IF_R; case 'U': if (last) { return -1; } goto IF_U; case 'u': if (last) { return -1; } goto IF_U; default: return -1; } IF_M: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto IF_MA; case 'a': if (last) { return -1; } goto IF_MA; case 'O': if (last) { return -1; } goto IF_MO; case 'o': if (last) { return -1; } goto IF_MO; default: return -1; } IF_MA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto IF_MAT; case 't': if (last) { return -1; } goto IF_MAT; default: return -1; } IF_MAT: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto IF_MATC; case 'c': if (last) { return -1; } goto IF_MATC; default: return -1; } IF_MATC: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return 37; } goto IF_MATCH; case 'h': if (last) { return 37; } goto IF_MATCH; default: return -1; } IF_MO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto IF_MOD; case 'd': if (last) { return -1; } goto IF_MOD; default: return -1; } IF_MOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto IF_MODI; case 'i': if (last) { return -1; } goto IF_MODI; default: return -1; } IF_MODI: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto IF_MODIF; case 'f': if (last) { return -1; } goto IF_MODIF; default: return -1; } IF_MODIF: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto IF_MODIFI; case 'i': if (last) { return -1; } goto IF_MODIFI; default: return -1; } IF_MODIFI: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto IF_MODIFIE; case 'e': if (last) { return -1; } goto IF_MODIFIE; default: return -1; } IF_MODIFIE: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto IF_MODIFIED; case 'd': if (last) { return -1; } goto IF_MODIFIED; default: return -1; } IF_MODIFIED: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto IF_MODIFIED_; default: return -1; } IF_MODIFIED_: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto IF_MODIFIED_S; case 's': if (last) { return -1; } goto IF_MODIFIED_S; default: return -1; } IF_MODIFIED_S: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto IF_MODIFIED_SI; case 'i': if (last) { return -1; } goto IF_MODIFIED_SI; default: return -1; } IF_MODIFIED_SI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto IF_MODIFIED_SIN; case 'n': if (last) { return -1; } goto IF_MODIFIED_SIN; default: return -1; } IF_MODIFIED_SIN: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto IF_MODIFIED_SINC; case 'c': if (last) { return -1; } goto IF_MODIFIED_SINC; default: return -1; } IF_MODIFIED_SINC: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 38; } goto IF_MODIFIED_SINCE; case 'e': if (last) { return 38; } goto IF_MODIFIED_SINCE; default: return -1; } IF_N: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto IF_NO; case 'o': if (last) { return -1; } goto IF_NO; default: return -1; } IF_NO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto IF_NON; case 'n': if (last) { return -1; } goto IF_NON; default: return -1; } IF_NON: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto IF_NONE; case 'e': if (last) { return -1; } goto IF_NONE; default: return -1; } IF_NONE: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto IF_NONE_; default: return -1; } IF_NONE_: NEXT_CHAR(); switch (ch) { case 'M': if (last) { return -1; } goto IF_NONE_M; case 'm': if (last) { return -1; } goto IF_NONE_M; default: return -1; } IF_NONE_M: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto IF_NONE_MA; case 'a': if (last) { return -1; } goto IF_NONE_MA; default: return -1; } IF_NONE_MA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto IF_NONE_MAT; case 't': if (last) { return -1; } goto IF_NONE_MAT; default: return -1; } IF_NONE_MAT: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto IF_NONE_MATC; case 'c': if (last) { return -1; } goto IF_NONE_MATC; default: return -1; } IF_NONE_MATC: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return 39; } goto IF_NONE_MATCH; case 'h': if (last) { return 39; } goto IF_NONE_MATCH; default: return -1; } IF_R: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto IF_RA; case 'a': if (last) { return -1; } goto IF_RA; default: return -1; } IF_RA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto IF_RAN; case 'n': if (last) { return -1; } goto IF_RAN; default: return -1; } IF_RAN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto IF_RANG; case 'g': if (last) { return -1; } goto IF_RANG; default: return -1; } IF_RANG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 40; } goto IF_RANGE; case 'e': if (last) { return 40; } goto IF_RANGE; default: return -1; } IF_U: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto IF_UN; case 'n': if (last) { return -1; } goto IF_UN; default: return -1; } IF_UN: NEXT_CHAR(); switch (ch) { case 'M': if (last) { return -1; } goto IF_UNM; case 'm': if (last) { return -1; } goto IF_UNM; default: return -1; } IF_UNM: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto IF_UNMO; case 'o': if (last) { return -1; } goto IF_UNMO; default: return -1; } IF_UNMO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto IF_UNMOD; case 'd': if (last) { return -1; } goto IF_UNMOD; default: return -1; } IF_UNMOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto IF_UNMODI; case 'i': if (last) { return -1; } goto IF_UNMODI; default: return -1; } IF_UNMODI: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto IF_UNMODIF; case 'f': if (last) { return -1; } goto IF_UNMODIF; default: return -1; } IF_UNMODIF: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto IF_UNMODIFI; case 'i': if (last) { return -1; } goto IF_UNMODIFI; default: return -1; } IF_UNMODIFI: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto IF_UNMODIFIE; case 'e': if (last) { return -1; } goto IF_UNMODIFIE; default: return -1; } IF_UNMODIFIE: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto IF_UNMODIFIED; case 'd': if (last) { return -1; } goto IF_UNMODIFIED; default: return -1; } IF_UNMODIFIED: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto IF_UNMODIFIED_; default: return -1; } IF_UNMODIFIED_: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto IF_UNMODIFIED_S; case 's': if (last) { return -1; } goto IF_UNMODIFIED_S; default: return -1; } IF_UNMODIFIED_S: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto IF_UNMODIFIED_SI; case 'i': if (last) { return -1; } goto IF_UNMODIFIED_SI; default: return -1; } IF_UNMODIFIED_SI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto IF_UNMODIFIED_SIN; case 'n': if (last) { return -1; } goto IF_UNMODIFIED_SIN; default: return -1; } IF_UNMODIFIED_SIN: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto IF_UNMODIFIED_SINC; case 'c': if (last) { return -1; } goto IF_UNMODIFIED_SINC; default: return -1; } IF_UNMODIFIED_SINC: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 41; } goto IF_UNMODIFIED_SINCE; case 'e': if (last) { return 41; } goto IF_UNMODIFIED_SINCE; default: return -1; } K: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto KE; case 'e': if (last) { return -1; } goto KE; default: return -1; } KE: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto KEE; case 'e': if (last) { return -1; } goto KEE; default: return -1; } KEE: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto KEEP; case 'p': if (last) { return -1; } goto KEEP; default: return -1; } KEEP: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto KEEP_; default: return -1; } KEEP_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto KEEP_A; case 'a': if (last) { return -1; } goto KEEP_A; default: return -1; } KEEP_A: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto KEEP_AL; case 'l': if (last) { return -1; } goto KEEP_AL; default: return -1; } KEEP_AL: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto KEEP_ALI; case 'i': if (last) { return -1; } goto KEEP_ALI; default: return -1; } KEEP_ALI: NEXT_CHAR(); switch (ch) { case 'V': if (last) { return -1; } goto KEEP_ALIV; case 'v': if (last) { return -1; } goto KEEP_ALIV; default: return -1; } KEEP_ALIV: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 42; } goto KEEP_ALIVE; case 'e': if (last) { return 42; } goto KEEP_ALIVE; default: return -1; } L: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto LA; case 'a': if (last) { return -1; } goto LA; case 'I': if (last) { return -1; } goto LI; case 'i': if (last) { return -1; } goto LI; case 'O': if (last) { return -1; } goto LO; case 'o': if (last) { return -1; } goto LO; default: return -1; } LA: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto LAS; case 's': if (last) { return -1; } goto LAS; default: return -1; } LAS: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto LAST; case 't': if (last) { return -1; } goto LAST; default: return -1; } LAST: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto LAST_; default: return -1; } LAST_: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto LAST_E; case 'e': if (last) { return -1; } goto LAST_E; case 'M': if (last) { return -1; } goto LAST_M; case 'm': if (last) { return -1; } goto LAST_M; default: return -1; } LAST_E: NEXT_CHAR(); switch (ch) { case 'V': if (last) { return -1; } goto LAST_EV; case 'v': if (last) { return -1; } goto LAST_EV; default: return -1; } LAST_EV: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto LAST_EVE; case 'e': if (last) { return -1; } goto LAST_EVE; default: return -1; } LAST_EVE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto LAST_EVEN; case 'n': if (last) { return -1; } goto LAST_EVEN; default: return -1; } LAST_EVEN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto LAST_EVENT; case 't': if (last) { return -1; } goto LAST_EVENT; default: return -1; } LAST_EVENT: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto LAST_EVENT_; default: return -1; } LAST_EVENT_: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto LAST_EVENT_I; case 'i': if (last) { return -1; } goto LAST_EVENT_I; default: return -1; } LAST_EVENT_I: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return 43; } goto LAST_EVENT_ID; case 'd': if (last) { return 43; } goto LAST_EVENT_ID; default: return -1; } LAST_M: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto LAST_MO; case 'o': if (last) { return -1; } goto LAST_MO; default: return -1; } LAST_MO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto LAST_MOD; case 'd': if (last) { return -1; } goto LAST_MOD; default: return -1; } LAST_MOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto LAST_MODI; case 'i': if (last) { return -1; } goto LAST_MODI; default: return -1; } LAST_MODI: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto LAST_MODIF; case 'f': if (last) { return -1; } goto LAST_MODIF; default: return -1; } LAST_MODIF: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto LAST_MODIFI; case 'i': if (last) { return -1; } goto LAST_MODIFI; default: return -1; } LAST_MODIFI: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto LAST_MODIFIE; case 'e': if (last) { return -1; } goto LAST_MODIFIE; default: return -1; } LAST_MODIFIE: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return 44; } goto LAST_MODIFIED; case 'd': if (last) { return 44; } goto LAST_MODIFIED; default: return -1; } LI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto LIN; case 'n': if (last) { return -1; } goto LIN; default: return -1; } LIN: NEXT_CHAR(); switch (ch) { case 'K': if (last) { return 45; } goto LINK; case 'k': if (last) { return 45; } goto LINK; default: return -1; } LO: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto LOC; case 'c': if (last) { return -1; } goto LOC; default: return -1; } LOC: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto LOCA; case 'a': if (last) { return -1; } goto LOCA; default: return -1; } LOCA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto LOCAT; case 't': if (last) { return -1; } goto LOCAT; default: return -1; } LOCAT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto LOCATI; case 'i': if (last) { return -1; } goto LOCATI; default: return -1; } LOCATI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto LOCATIO; case 'o': if (last) { return -1; } goto LOCATIO; default: return -1; } LOCATIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 46; } goto LOCATION; case 'n': if (last) { return 46; } goto LOCATION; default: return -1; } M: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto MA; case 'a': if (last) { return -1; } goto MA; default: return -1; } MA: NEXT_CHAR(); switch (ch) { case 'X': if (last) { return -1; } goto MAX; case 'x': if (last) { return -1; } goto MAX; default: return -1; } MAX: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto MAX_; default: return -1; } MAX_: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto MAX_F; case 'f': if (last) { return -1; } goto MAX_F; default: return -1; } MAX_F: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto MAX_FO; case 'o': if (last) { return -1; } goto MAX_FO; default: return -1; } MAX_FO: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto MAX_FOR; case 'r': if (last) { return -1; } goto MAX_FOR; default: return -1; } MAX_FOR: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto MAX_FORW; case 'w': if (last) { return -1; } goto MAX_FORW; default: return -1; } MAX_FORW: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto MAX_FORWA; case 'a': if (last) { return -1; } goto MAX_FORWA; default: return -1; } MAX_FORWA: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto MAX_FORWAR; case 'r': if (last) { return -1; } goto MAX_FORWAR; default: return -1; } MAX_FORWAR: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto MAX_FORWARD; case 'd': if (last) { return -1; } goto MAX_FORWARD; default: return -1; } MAX_FORWARD: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 47; } goto MAX_FORWARDS; case 's': if (last) { return 47; } goto MAX_FORWARDS; default: return -1; } O: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto OR; case 'r': if (last) { return -1; } goto OR; default: return -1; } OR: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto ORI; case 'i': if (last) { return -1; } goto ORI; default: return -1; } ORI: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto ORIG; case 'g': if (last) { return -1; } goto ORIG; default: return -1; } ORIG: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto ORIGI; case 'i': if (last) { return -1; } goto ORIGI; default: return -1; } ORIGI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 48; } goto ORIGIN; case 'n': if (last) { return 48; } goto ORIGIN; default: return -1; } P: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto PR; case 'r': if (last) { return -1; } goto PR; default: return -1; } PR: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto PRA; case 'a': if (last) { return -1; } goto PRA; case 'O': if (last) { return -1; } goto PRO; case 'o': if (last) { return -1; } goto PRO; default: return -1; } PRA: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto PRAG; case 'g': if (last) { return -1; } goto PRAG; default: return -1; } PRAG: NEXT_CHAR(); switch (ch) { case 'M': if (last) { return -1; } goto PRAGM; case 'm': if (last) { return -1; } goto PRAGM; default: return -1; } PRAGM: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return 49; } goto PRAGMA; case 'a': if (last) { return 49; } goto PRAGMA; default: return -1; } PRO: NEXT_CHAR(); switch (ch) { case 'X': if (last) { return -1; } goto PROX; case 'x': if (last) { return -1; } goto PROX; default: return -1; } PROX: NEXT_CHAR(); switch (ch) { case 'Y': if (last) { return -1; } goto PROXY; case 'y': if (last) { return -1; } goto PROXY; default: return -1; } PROXY: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto PROXY_; default: return -1; } PROXY_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto PROXY_A; case 'a': if (last) { return -1; } goto PROXY_A; default: return -1; } PROXY_A: NEXT_CHAR(); switch (ch) { case 'U': if (last) { return -1; } goto PROXY_AU; case 'u': if (last) { return -1; } goto PROXY_AU; default: return -1; } PROXY_AU: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto PROXY_AUT; case 't': if (last) { return -1; } goto PROXY_AUT; default: return -1; } PROXY_AUT: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto PROXY_AUTH; case 'h': if (last) { return -1; } goto PROXY_AUTH; default: return -1; } PROXY_AUTH: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto PROXY_AUTHE; case 'e': if (last) { return -1; } goto PROXY_AUTHE; case 'O': if (last) { return -1; } goto PROXY_AUTHO; case 'o': if (last) { return -1; } goto PROXY_AUTHO; default: return -1; } PROXY_AUTHE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto PROXY_AUTHEN; case 'n': if (last) { return -1; } goto PROXY_AUTHEN; default: return -1; } PROXY_AUTHEN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto PROXY_AUTHENT; case 't': if (last) { return -1; } goto PROXY_AUTHENT; default: return -1; } PROXY_AUTHENT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto PROXY_AUTHENTI; case 'i': if (last) { return -1; } goto PROXY_AUTHENTI; default: return -1; } PROXY_AUTHENTI: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto PROXY_AUTHENTIC; case 'c': if (last) { return -1; } goto PROXY_AUTHENTIC; default: return -1; } PROXY_AUTHENTIC: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto PROXY_AUTHENTICA; case 'a': if (last) { return -1; } goto PROXY_AUTHENTICA; default: return -1; } PROXY_AUTHENTICA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto PROXY_AUTHENTICAT; case 't': if (last) { return -1; } goto PROXY_AUTHENTICAT; default: return -1; } PROXY_AUTHENTICAT: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 50; } goto PROXY_AUTHENTICATE; case 'e': if (last) { return 50; } goto PROXY_AUTHENTICATE; default: return -1; } PROXY_AUTHO: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto PROXY_AUTHOR; case 'r': if (last) { return -1; } goto PROXY_AUTHOR; default: return -1; } PROXY_AUTHOR: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto PROXY_AUTHORI; case 'i': if (last) { return -1; } goto PROXY_AUTHORI; default: return -1; } PROXY_AUTHORI: NEXT_CHAR(); switch (ch) { case 'Z': if (last) { return -1; } goto PROXY_AUTHORIZ; case 'z': if (last) { return -1; } goto PROXY_AUTHORIZ; default: return -1; } PROXY_AUTHORIZ: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto PROXY_AUTHORIZA; case 'a': if (last) { return -1; } goto PROXY_AUTHORIZA; default: return -1; } PROXY_AUTHORIZA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto PROXY_AUTHORIZAT; case 't': if (last) { return -1; } goto PROXY_AUTHORIZAT; default: return -1; } PROXY_AUTHORIZAT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto PROXY_AUTHORIZATI; case 'i': if (last) { return -1; } goto PROXY_AUTHORIZATI; default: return -1; } PROXY_AUTHORIZATI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto PROXY_AUTHORIZATIO; case 'o': if (last) { return -1; } goto PROXY_AUTHORIZATIO; default: return -1; } PROXY_AUTHORIZATIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 51; } goto PROXY_AUTHORIZATION; case 'n': if (last) { return 51; } goto PROXY_AUTHORIZATION; default: return -1; } R: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto RA; case 'a': if (last) { return -1; } goto RA; case 'E': if (last) { return -1; } goto RE; case 'e': if (last) { return -1; } goto RE; default: return -1; } RA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto RAN; case 'n': if (last) { return -1; } goto RAN; default: return -1; } RAN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto RANG; case 'g': if (last) { return -1; } goto RANG; default: return -1; } RANG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 52; } goto RANGE; case 'e': if (last) { return 52; } goto RANGE; default: return -1; } RE: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto REF; case 'f': if (last) { return -1; } goto REF; case 'T': if (last) { return -1; } goto RET; case 't': if (last) { return -1; } goto RET; default: return -1; } REF: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto REFE; case 'e': if (last) { return -1; } goto REFE; default: return -1; } REFE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto REFER; case 'r': if (last) { return -1; } goto REFER; default: return -1; } REFER: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto REFERE; case 'e': if (last) { return -1; } goto REFERE; default: return -1; } REFERE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return 53; } goto REFERER; case 'r': if (last) { return 53; } goto REFERER; default: return -1; } RET: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto RETR; case 'r': if (last) { return -1; } goto RETR; default: return -1; } RETR: NEXT_CHAR(); switch (ch) { case 'Y': if (last) { return -1; } goto RETRY; case 'y': if (last) { return -1; } goto RETRY; default: return -1; } RETRY: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto RETRY_; default: return -1; } RETRY_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto RETRY_A; case 'a': if (last) { return -1; } goto RETRY_A; default: return -1; } RETRY_A: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto RETRY_AF; case 'f': if (last) { return -1; } goto RETRY_AF; default: return -1; } RETRY_AF: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto RETRY_AFT; case 't': if (last) { return -1; } goto RETRY_AFT; default: return -1; } RETRY_AFT: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto RETRY_AFTE; case 'e': if (last) { return -1; } goto RETRY_AFTE; default: return -1; } RETRY_AFTE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return 54; } goto RETRY_AFTER; case 'r': if (last) { return 54; } goto RETRY_AFTER; default: return -1; } S: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SE; case 'e': if (last) { return -1; } goto SE; default: return -1; } SE: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto SEC; case 'c': if (last) { return -1; } goto SEC; case 'R': if (last) { return -1; } goto SER; case 'r': if (last) { return -1; } goto SER; case 'T': if (last) { return -1; } goto SET; case 't': if (last) { return -1; } goto SET; default: return -1; } SEC: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto SEC_; default: return -1; } SEC_: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto SEC_W; case 'w': if (last) { return -1; } goto SEC_W; default: return -1; } SEC_W: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SEC_WE; case 'e': if (last) { return -1; } goto SEC_WE; default: return -1; } SEC_WE: NEXT_CHAR(); switch (ch) { case 'B': if (last) { return -1; } goto SEC_WEB; case 'b': if (last) { return -1; } goto SEC_WEB; default: return -1; } SEC_WEB: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto SEC_WEBS; case 's': if (last) { return -1; } goto SEC_WEBS; default: return -1; } SEC_WEBS: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SEC_WEBSO; case 'o': if (last) { return -1; } goto SEC_WEBSO; default: return -1; } SEC_WEBSO: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto SEC_WEBSOC; case 'c': if (last) { return -1; } goto SEC_WEBSOC; default: return -1; } SEC_WEBSOC: NEXT_CHAR(); switch (ch) { case 'K': if (last) { return -1; } goto SEC_WEBSOCK; case 'k': if (last) { return -1; } goto SEC_WEBSOCK; default: return -1; } SEC_WEBSOCK: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SEC_WEBSOCKE; case 'e': if (last) { return -1; } goto SEC_WEBSOCKE; default: return -1; } SEC_WEBSOCKE: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto SEC_WEBSOCKET; case 't': if (last) { return -1; } goto SEC_WEBSOCKET; default: return -1; } SEC_WEBSOCKET: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto SEC_WEBSOCKET_; default: return -1; } SEC_WEBSOCKET_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto SEC_WEBSOCKET_A; case 'a': if (last) { return -1; } goto SEC_WEBSOCKET_A; case 'E': if (last) { return -1; } goto SEC_WEBSOCKET_E; case 'e': if (last) { return -1; } goto SEC_WEBSOCKET_E; case 'K': if (last) { return -1; } goto SEC_WEBSOCKET_K; case 'k': if (last) { return -1; } goto SEC_WEBSOCKET_K; case 'P': if (last) { return -1; } goto SEC_WEBSOCKET_P; case 'p': if (last) { return -1; } goto SEC_WEBSOCKET_P; case 'V': if (last) { return -1; } goto SEC_WEBSOCKET_V; case 'v': if (last) { return -1; } goto SEC_WEBSOCKET_V; default: return -1; } SEC_WEBSOCKET_A: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto SEC_WEBSOCKET_AC; case 'c': if (last) { return -1; } goto SEC_WEBSOCKET_AC; default: return -1; } SEC_WEBSOCKET_AC: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto SEC_WEBSOCKET_ACC; case 'c': if (last) { return -1; } goto SEC_WEBSOCKET_ACC; default: return -1; } SEC_WEBSOCKET_ACC: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SEC_WEBSOCKET_ACCE; case 'e': if (last) { return -1; } goto SEC_WEBSOCKET_ACCE; default: return -1; } SEC_WEBSOCKET_ACCE: NEXT_CHAR(); switch (ch) { case 'P': if (last) { return -1; } goto SEC_WEBSOCKET_ACCEP; case 'p': if (last) { return -1; } goto SEC_WEBSOCKET_ACCEP; default: return -1; } SEC_WEBSOCKET_ACCEP: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 55; } goto SEC_WEBSOCKET_ACCEPT; case 't': if (last) { return 55; } goto SEC_WEBSOCKET_ACCEPT; default: return -1; } SEC_WEBSOCKET_E: NEXT_CHAR(); switch (ch) { case 'X': if (last) { return -1; } goto SEC_WEBSOCKET_EX; case 'x': if (last) { return -1; } goto SEC_WEBSOCKET_EX; default: return -1; } SEC_WEBSOCKET_EX: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto SEC_WEBSOCKET_EXT; case 't': if (last) { return -1; } goto SEC_WEBSOCKET_EXT; default: return -1; } SEC_WEBSOCKET_EXT: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SEC_WEBSOCKET_EXTE; case 'e': if (last) { return -1; } goto SEC_WEBSOCKET_EXTE; default: return -1; } SEC_WEBSOCKET_EXTE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto SEC_WEBSOCKET_EXTEN; case 'n': if (last) { return -1; } goto SEC_WEBSOCKET_EXTEN; default: return -1; } SEC_WEBSOCKET_EXTEN: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENS; case 's': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENS; default: return -1; } SEC_WEBSOCKET_EXTENS: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENSI; case 'i': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENSI; default: return -1; } SEC_WEBSOCKET_EXTENSI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENSIO; case 'o': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENSIO; default: return -1; } SEC_WEBSOCKET_EXTENSIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENSION; case 'n': if (last) { return -1; } goto SEC_WEBSOCKET_EXTENSION; default: return -1; } SEC_WEBSOCKET_EXTENSION: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return 56; } goto SEC_WEBSOCKET_EXTENSIONS; case 's': if (last) { return 56; } goto SEC_WEBSOCKET_EXTENSIONS; default: return -1; } SEC_WEBSOCKET_K: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SEC_WEBSOCKET_KE; case 'e': if (last) { return -1; } goto SEC_WEBSOCKET_KE; default: return -1; } SEC_WEBSOCKET_KE: NEXT_CHAR(); switch (ch) { case 'Y': if (last) { return 57; } goto SEC_WEBSOCKET_KEY; case 'y': if (last) { return 57; } goto SEC_WEBSOCKET_KEY; default: return -1; } SEC_WEBSOCKET_KEY: NEXT_CHAR(); switch (ch) { case '1': if (last) { return 58; } goto SEC_WEBSOCKET_KEY1; default: return -1; } SEC_WEBSOCKET_P: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto SEC_WEBSOCKET_PR; case 'r': if (last) { return -1; } goto SEC_WEBSOCKET_PR; default: return -1; } SEC_WEBSOCKET_PR: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SEC_WEBSOCKET_PRO; case 'o': if (last) { return -1; } goto SEC_WEBSOCKET_PRO; default: return -1; } SEC_WEBSOCKET_PRO: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto SEC_WEBSOCKET_PROT; case 't': if (last) { return -1; } goto SEC_WEBSOCKET_PROT; default: return -1; } SEC_WEBSOCKET_PROT: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SEC_WEBSOCKET_PROTO; case 'o': if (last) { return -1; } goto SEC_WEBSOCKET_PROTO; default: return -1; } SEC_WEBSOCKET_PROTO: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto SEC_WEBSOCKET_PROTOC; case 'c': if (last) { return -1; } goto SEC_WEBSOCKET_PROTOC; default: return -1; } SEC_WEBSOCKET_PROTOC: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SEC_WEBSOCKET_PROTOCO; case 'o': if (last) { return -1; } goto SEC_WEBSOCKET_PROTOCO; default: return -1; } SEC_WEBSOCKET_PROTOCO: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return 59; } goto SEC_WEBSOCKET_PROTOCOL; case 'l': if (last) { return 59; } goto SEC_WEBSOCKET_PROTOCOL; default: return -1; } SEC_WEBSOCKET_V: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SEC_WEBSOCKET_VE; case 'e': if (last) { return -1; } goto SEC_WEBSOCKET_VE; default: return -1; } SEC_WEBSOCKET_VE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto SEC_WEBSOCKET_VER; case 'r': if (last) { return -1; } goto SEC_WEBSOCKET_VER; default: return -1; } SEC_WEBSOCKET_VER: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto SEC_WEBSOCKET_VERS; case 's': if (last) { return -1; } goto SEC_WEBSOCKET_VERS; default: return -1; } SEC_WEBSOCKET_VERS: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto SEC_WEBSOCKET_VERSI; case 'i': if (last) { return -1; } goto SEC_WEBSOCKET_VERSI; default: return -1; } SEC_WEBSOCKET_VERSI: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SEC_WEBSOCKET_VERSIO; case 'o': if (last) { return -1; } goto SEC_WEBSOCKET_VERSIO; default: return -1; } SEC_WEBSOCKET_VERSIO: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return 60; } goto SEC_WEBSOCKET_VERSION; case 'n': if (last) { return 60; } goto SEC_WEBSOCKET_VERSION; default: return -1; } SER: NEXT_CHAR(); switch (ch) { case 'V': if (last) { return -1; } goto SERV; case 'v': if (last) { return -1; } goto SERV; default: return -1; } SERV: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto SERVE; case 'e': if (last) { return -1; } goto SERVE; default: return -1; } SERVE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return 61; } goto SERVER; case 'r': if (last) { return 61; } goto SERVER; default: return -1; } SET: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto SET_; default: return -1; } SET_: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto SET_C; case 'c': if (last) { return -1; } goto SET_C; default: return -1; } SET_C: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SET_CO; case 'o': if (last) { return -1; } goto SET_CO; default: return -1; } SET_CO: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto SET_COO; case 'o': if (last) { return -1; } goto SET_COO; default: return -1; } SET_COO: NEXT_CHAR(); switch (ch) { case 'K': if (last) { return -1; } goto SET_COOK; case 'k': if (last) { return -1; } goto SET_COOK; default: return -1; } SET_COOK: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto SET_COOKI; case 'i': if (last) { return -1; } goto SET_COOKI; default: return -1; } SET_COOKI: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 62; } goto SET_COOKIE; case 'e': if (last) { return 62; } goto SET_COOKIE; default: return -1; } T: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 63; } goto TE; case 'e': if (last) { return 63; } goto TE; case 'R': if (last) { return -1; } goto TR; case 'r': if (last) { return -1; } goto TR; default: return -1; } TR: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto TRA; case 'a': if (last) { return -1; } goto TRA; default: return -1; } TRA: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto TRAI; case 'i': if (last) { return -1; } goto TRAI; case 'N': if (last) { return -1; } goto TRAN; case 'n': if (last) { return -1; } goto TRAN; default: return -1; } TRAI: NEXT_CHAR(); switch (ch) { case 'L': if (last) { return -1; } goto TRAIL; case 'l': if (last) { return -1; } goto TRAIL; default: return -1; } TRAIL: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto TRAILE; case 'e': if (last) { return -1; } goto TRAILE; default: return -1; } TRAILE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return 64; } goto TRAILER; case 'r': if (last) { return 64; } goto TRAILER; default: return -1; } TRAN: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto TRANS; case 's': if (last) { return -1; } goto TRANS; default: return -1; } TRANS: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto TRANSF; case 'f': if (last) { return -1; } goto TRANSF; default: return -1; } TRANSF: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto TRANSFE; case 'e': if (last) { return -1; } goto TRANSFE; default: return -1; } TRANSFE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto TRANSFER; case 'r': if (last) { return -1; } goto TRANSFER; default: return -1; } TRANSFER: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto TRANSFER_; default: return -1; } TRANSFER_: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto TRANSFER_E; case 'e': if (last) { return -1; } goto TRANSFER_E; default: return -1; } TRANSFER_E: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto TRANSFER_EN; case 'n': if (last) { return -1; } goto TRANSFER_EN; default: return -1; } TRANSFER_EN: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto TRANSFER_ENC; case 'c': if (last) { return -1; } goto TRANSFER_ENC; default: return -1; } TRANSFER_ENC: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto TRANSFER_ENCO; case 'o': if (last) { return -1; } goto TRANSFER_ENCO; default: return -1; } TRANSFER_ENCO: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto TRANSFER_ENCOD; case 'd': if (last) { return -1; } goto TRANSFER_ENCOD; default: return -1; } TRANSFER_ENCOD: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto TRANSFER_ENCODI; case 'i': if (last) { return -1; } goto TRANSFER_ENCODI; default: return -1; } TRANSFER_ENCODI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto TRANSFER_ENCODIN; case 'n': if (last) { return -1; } goto TRANSFER_ENCODIN; default: return -1; } TRANSFER_ENCODIN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return 65; } goto TRANSFER_ENCODING; case 'g': if (last) { return 65; } goto TRANSFER_ENCODING; default: return -1; } U: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto UR; case 'r': if (last) { return -1; } goto UR; case 'P': if (last) { return -1; } goto UP; case 'p': if (last) { return -1; } goto UP; case 'S': if (last) { return -1; } goto US; case 's': if (last) { return -1; } goto US; default: return -1; } UR: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return 66; } goto URI; case 'i': if (last) { return 66; } goto URI; default: return -1; } UP: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto UPG; case 'g': if (last) { return -1; } goto UPG; default: return -1; } UPG: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto UPGR; case 'r': if (last) { return -1; } goto UPGR; default: return -1; } UPGR: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto UPGRA; case 'a': if (last) { return -1; } goto UPGRA; default: return -1; } UPGRA: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto UPGRAD; case 'd': if (last) { return -1; } goto UPGRAD; default: return -1; } UPGRAD: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 67; } goto UPGRADE; case 'e': if (last) { return 67; } goto UPGRADE; default: return -1; } US: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto USE; case 'e': if (last) { return -1; } goto USE; default: return -1; } USE: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto USER; case 'r': if (last) { return -1; } goto USER; default: return -1; } USER: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto USER_; default: return -1; } USER_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto USER_A; case 'a': if (last) { return -1; } goto USER_A; default: return -1; } USER_A: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto USER_AG; case 'g': if (last) { return -1; } goto USER_AG; default: return -1; } USER_AG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto USER_AGE; case 'e': if (last) { return -1; } goto USER_AGE; default: return -1; } USER_AGE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto USER_AGEN; case 'n': if (last) { return -1; } goto USER_AGEN; default: return -1; } USER_AGEN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 68; } goto USER_AGENT; case 't': if (last) { return 68; } goto USER_AGENT; default: return -1; } V: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto VA; case 'a': if (last) { return -1; } goto VA; case 'I': if (last) { return -1; } goto VI; case 'i': if (last) { return -1; } goto VI; default: return -1; } VA: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto VAR; case 'r': if (last) { return -1; } goto VAR; default: return -1; } VAR: NEXT_CHAR(); switch (ch) { case 'Y': if (last) { return 69; } goto VARY; case 'y': if (last) { return 69; } goto VARY; default: return -1; } VI: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return 70; } goto VIA; case 'a': if (last) { return 70; } goto VIA; default: return -1; } W: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto WW; case 'w': if (last) { return -1; } goto WW; case 'A': if (last) { return -1; } goto WA; case 'a': if (last) { return -1; } goto WA; default: return -1; } WW: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto WWW; case 'w': if (last) { return -1; } goto WWW; default: return -1; } WWW: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto WWW_; default: return -1; } WWW_: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto WWW_A; case 'a': if (last) { return -1; } goto WWW_A; default: return -1; } WWW_A: NEXT_CHAR(); switch (ch) { case 'U': if (last) { return -1; } goto WWW_AU; case 'u': if (last) { return -1; } goto WWW_AU; default: return -1; } WWW_AU: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto WWW_AUT; case 't': if (last) { return -1; } goto WWW_AUT; default: return -1; } WWW_AUT: NEXT_CHAR(); switch (ch) { case 'H': if (last) { return -1; } goto WWW_AUTH; case 'h': if (last) { return -1; } goto WWW_AUTH; default: return -1; } WWW_AUTH: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto WWW_AUTHE; case 'e': if (last) { return -1; } goto WWW_AUTHE; default: return -1; } WWW_AUTHE: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto WWW_AUTHEN; case 'n': if (last) { return -1; } goto WWW_AUTHEN; default: return -1; } WWW_AUTHEN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto WWW_AUTHENT; case 't': if (last) { return -1; } goto WWW_AUTHENT; default: return -1; } WWW_AUTHENT: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto WWW_AUTHENTI; case 'i': if (last) { return -1; } goto WWW_AUTHENTI; default: return -1; } WWW_AUTHENTI: NEXT_CHAR(); switch (ch) { case 'C': if (last) { return -1; } goto WWW_AUTHENTIC; case 'c': if (last) { return -1; } goto WWW_AUTHENTIC; default: return -1; } WWW_AUTHENTIC: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto WWW_AUTHENTICA; case 'a': if (last) { return -1; } goto WWW_AUTHENTICA; default: return -1; } WWW_AUTHENTICA: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto WWW_AUTHENTICAT; case 't': if (last) { return -1; } goto WWW_AUTHENTICAT; default: return -1; } WWW_AUTHENTICAT: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return 71; } goto WWW_AUTHENTICATE; case 'e': if (last) { return 71; } goto WWW_AUTHENTICATE; default: return -1; } WA: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto WAN; case 'n': if (last) { return -1; } goto WAN; case 'R': if (last) { return -1; } goto WAR; case 'r': if (last) { return -1; } goto WAR; default: return -1; } WAN: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto WANT; case 't': if (last) { return -1; } goto WANT; default: return -1; } WANT: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto WANT_; default: return -1; } WANT_: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto WANT_D; case 'd': if (last) { return -1; } goto WANT_D; default: return -1; } WANT_D: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto WANT_DI; case 'i': if (last) { return -1; } goto WANT_DI; default: return -1; } WANT_DI: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return -1; } goto WANT_DIG; case 'g': if (last) { return -1; } goto WANT_DIG; default: return -1; } WANT_DIG: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto WANT_DIGE; case 'e': if (last) { return -1; } goto WANT_DIGE; default: return -1; } WANT_DIGE: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto WANT_DIGES; case 's': if (last) { return -1; } goto WANT_DIGES; default: return -1; } WANT_DIGES: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 72; } goto WANT_DIGEST; case 't': if (last) { return 72; } goto WANT_DIGEST; default: return -1; } WAR: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto WARN; case 'n': if (last) { return -1; } goto WARN; default: return -1; } WARN: NEXT_CHAR(); switch (ch) { case 'I': if (last) { return -1; } goto WARNI; case 'i': if (last) { return -1; } goto WARNI; default: return -1; } WARNI: NEXT_CHAR(); switch (ch) { case 'N': if (last) { return -1; } goto WARNIN; case 'n': if (last) { return -1; } goto WARNIN; default: return -1; } WARNIN: NEXT_CHAR(); switch (ch) { case 'G': if (last) { return 73; } goto WARNING; case 'g': if (last) { return 73; } goto WARNING; default: return -1; } X: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto X_; default: return -1; } X_: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto X_F; case 'f': if (last) { return -1; } goto X_F; default: return -1; } X_F: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto X_FO; case 'o': if (last) { return -1; } goto X_FO; default: return -1; } X_FO: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto X_FOR; case 'r': if (last) { return -1; } goto X_FOR; default: return -1; } X_FOR: NEXT_CHAR(); switch (ch) { case 'W': if (last) { return -1; } goto X_FORW; case 'w': if (last) { return -1; } goto X_FORW; default: return -1; } X_FORW: NEXT_CHAR(); switch (ch) { case 'A': if (last) { return -1; } goto X_FORWA; case 'a': if (last) { return -1; } goto X_FORWA; default: return -1; } X_FORWA: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto X_FORWAR; case 'r': if (last) { return -1; } goto X_FORWAR; default: return -1; } X_FORWAR: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto X_FORWARD; case 'd': if (last) { return -1; } goto X_FORWARD; default: return -1; } X_FORWARD: NEXT_CHAR(); switch (ch) { case 'E': if (last) { return -1; } goto X_FORWARDE; case 'e': if (last) { return -1; } goto X_FORWARDE; default: return -1; } X_FORWARDE: NEXT_CHAR(); switch (ch) { case 'D': if (last) { return -1; } goto X_FORWARDED; case 'd': if (last) { return -1; } goto X_FORWARDED; default: return -1; } X_FORWARDED: NEXT_CHAR(); switch (ch) { case '-': if (last) { return -1; } goto X_FORWARDED_; default: return -1; } X_FORWARDED_: NEXT_CHAR(); switch (ch) { case 'F': if (last) { return -1; } goto X_FORWARDED_F; case 'f': if (last) { return -1; } goto X_FORWARDED_F; case 'H': if (last) { return -1; } goto X_FORWARDED_H; case 'h': if (last) { return -1; } goto X_FORWARDED_H; case 'P': if (last) { return -1; } goto X_FORWARDED_P; case 'p': if (last) { return -1; } goto X_FORWARDED_P; default: return -1; } X_FORWARDED_F: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto X_FORWARDED_FO; case 'o': if (last) { return -1; } goto X_FORWARDED_FO; default: return -1; } X_FORWARDED_FO: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return 74; } goto X_FORWARDED_FOR; case 'r': if (last) { return 74; } goto X_FORWARDED_FOR; default: return -1; } X_FORWARDED_H: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto X_FORWARDED_HO; case 'o': if (last) { return -1; } goto X_FORWARDED_HO; default: return -1; } X_FORWARDED_HO: NEXT_CHAR(); switch (ch) { case 'S': if (last) { return -1; } goto X_FORWARDED_HOS; case 's': if (last) { return -1; } goto X_FORWARDED_HOS; default: return -1; } X_FORWARDED_HOS: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return 75; } goto X_FORWARDED_HOST; case 't': if (last) { return 75; } goto X_FORWARDED_HOST; default: return -1; } X_FORWARDED_P: NEXT_CHAR(); switch (ch) { case 'R': if (last) { return -1; } goto X_FORWARDED_PR; case 'r': if (last) { return -1; } goto X_FORWARDED_PR; default: return -1; } X_FORWARDED_PR: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return -1; } goto X_FORWARDED_PRO; case 'o': if (last) { return -1; } goto X_FORWARDED_PRO; default: return -1; } X_FORWARDED_PRO: NEXT_CHAR(); switch (ch) { case 'T': if (last) { return -1; } goto X_FORWARDED_PROT; case 't': if (last) { return -1; } goto X_FORWARDED_PROT; default: return -1; } X_FORWARDED_PROT: NEXT_CHAR(); switch (ch) { case 'O': if (last) { return 76; } goto X_FORWARDED_PROTO; case 'o': if (last) { return 76; } goto X_FORWARDED_PROTO; default: return -1; } ACCEPT_CHARSET: ACCEPT_ENCODING: ACCEPT_LANGUAGE: ACCEPT_RANGES: ACCESS_CONTROL_ALLOW_CREDENTIALS: ACCESS_CONTROL_ALLOW_HEADERS: ACCESS_CONTROL_ALLOW_METHODS: ACCESS_CONTROL_ALLOW_ORIGIN: ACCESS_CONTROL_EXPOSE_HEADERS: ACCESS_CONTROL_MAX_AGE: ACCESS_CONTROL_REQUEST_HEADERS: ACCESS_CONTROL_REQUEST_METHOD: AGE: ALLOW: AUTHORIZATION: CACHE_CONTROL: CONNECTION: CONTENT_DISPOSITION: CONTENT_ENCODING: CONTENT_LANGUAGE: CONTENT_LENGTH: CONTENT_LOCATION: CONTENT_MD5: CONTENT_RANGE: CONTENT_TRANSFER_ENCODING: CONTENT_TYPE: COOKIE: DATE: DESTINATION: DIGEST: ETAG: EXPECT: EXPIRES: FORWARDED: FROM: HOST: IF_MATCH: IF_MODIFIED_SINCE: IF_NONE_MATCH: IF_RANGE: IF_UNMODIFIED_SINCE: KEEP_ALIVE: LAST_EVENT_ID: LAST_MODIFIED: LINK: LOCATION: MAX_FORWARDS: ORIGIN: PRAGMA: PROXY_AUTHENTICATE: PROXY_AUTHORIZATION: RANGE: REFERER: RETRY_AFTER: SEC_WEBSOCKET_ACCEPT: SEC_WEBSOCKET_EXTENSIONS: SEC_WEBSOCKET_KEY1: SEC_WEBSOCKET_PROTOCOL: SEC_WEBSOCKET_VERSION: SERVER: SET_COOKIE: TE: TRAILER: TRANSFER_ENCODING: UPGRADE: URI: USER_AGENT: VARY: VIA: WANT_DIGEST: WARNING: WWW_AUTHENTICATE: X_FORWARDED_FOR: X_FORWARDED_HOST: X_FORWARDED_PROTO: missing: /* nothing found */ return -1; }