274 header.name.length, |
275 header.name.length, |
275 header.value.ptr, |
276 header.value.ptr, |
276 header.value.length, |
277 header.value.length, |
277 rq->rq.headers); |
278 rq->rq.headers); |
278 } |
279 } |
|
280 |
|
281 // get host and port |
|
282 char *hosthdr = pblock_findkeyval(pb_key_host, rq->rq.headers); |
|
283 if(hosthdr) { |
|
284 char *host = pool_strdup(pool, hosthdr); |
|
285 char *portstr = strchr(host, ':'); |
|
286 if(portstr) { |
|
287 *portstr = '\0'; |
|
288 } |
|
289 rq->host = host; |
|
290 } else { |
|
291 rq->host = NULL; // TODO: value from listener |
|
292 } |
|
293 rq->port = request->connection->listener->port; |
279 |
294 |
280 // parse connection header |
295 // parse connection header |
281 rq->rq.rq_attr.keep_alive = (rq->rq.protv_num >= PROTOCOL_VERSION_HTTP11); |
296 rq->rq.rq_attr.keep_alive = (rq->rq.protv_num >= PROTOCOL_VERSION_HTTP11); |
282 char *conn_str = pblock_findkeyval(pb_key_connection, rq->rq.headers); |
297 char *conn_str = pblock_findkeyval(pb_key_connection, rq->rq.headers); |
283 if(conn_str) { |
298 if(conn_str) { |