MCPcopy Create free account
hub / github.com/apache/httpd / sc_for_req_header

Function sc_for_req_header

modules/proxy/ajp_header.c:51–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49#define UNKNOWN_METHOD (-1)
50
51static int sc_for_req_header(const char *header_name)
52{
53 char header[16];
54 apr_size_t len = strlen(header_name);
55 const char *p = header_name;
56 int i = 0;
57
58 /* ACCEPT-LANGUAGE is the longest header
59 * that is of interest.
60 */
61 if (len < 4 || len > 15)
62 return UNKNOWN_METHOD;
63
64 memset(header, 0, sizeof header);
65 while (*p)
66 header[i++] = apr_toupper(*p++);
67 header[i] = '\0';
68 p = &header[1];
69
70 switch (header[0]) {
71 case 'A':
72 if (memcmp(p, "CCEPT", 5) == 0) {
73 if (!header[6])
74 return SC_ACCEPT;
75 else if (header[6] == '-') {
76 p += 6;
77 if (strcmp(p, "CHARSET") == 0)
78 return SC_ACCEPT_CHARSET;
79 else if (strcmp(p, "ENCODING") == 0)
80 return SC_ACCEPT_ENCODING;
81 else if (strcmp(p, "LANGUAGE") == 0)
82 return SC_ACCEPT_LANGUAGE;
83 else
84 return UNKNOWN_METHOD;
85 }
86 else
87 return UNKNOWN_METHOD;
88 }
89 else if (strcmp(p, "UTHORIZATION") == 0)
90 return SC_AUTHORIZATION;
91 else
92 return UNKNOWN_METHOD;
93 break;
94 case 'C':
95 if (strcmp(p, "OOKIE2") == 0)
96 return SC_COOKIE2;
97 else if (strcmp(p, "OOKIE") == 0)
98 return SC_COOKIE;
99 else if (strcmp(p, "ONNECTION") == 0)
100 return SC_CONNECTION;
101 else if (strcmp(p, "ONTENT-TYPE") == 0)
102 return SC_CONTENT_TYPE;
103 else if (strcmp(p, "ONTENT-LENGTH") == 0)
104 return SC_CONTENT_LENGTH;
105 else
106 return UNKNOWN_METHOD;
107 break;
108 case 'H':

Callers 1

ajp_marshal_into_msgbFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected