mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
*) mod_htt2: recent small improvements from the github/icing/mod_h2
- conditional use of ap_thread* to allow compilation on older versions - fixed checks on CONNECT requests git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908079 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -653,8 +653,10 @@ static apr_status_t c1_process_stream(h2_mplx *m,
|
|||||||
if (APLOGctrace1(m->c1)) {
|
if (APLOGctrace1(m->c1)) {
|
||||||
const h2_request *r = stream->request;
|
const h2_request *r = stream->request;
|
||||||
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, m->c1,
|
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, m->c1,
|
||||||
H2_STRM_MSG(stream, "process %s %s://%s%s"),
|
H2_STRM_MSG(stream, "process %s %s%s%s%s"),
|
||||||
r->method, r->scheme, r->authority, r->path);
|
r->method, r->scheme? r->scheme : "",
|
||||||
|
r->scheme? "://" : "",
|
||||||
|
r->authority, r->path? r->path: "");
|
||||||
}
|
}
|
||||||
|
|
||||||
stream->scheduled = 1;
|
stream->scheduled = 1;
|
||||||
|
@@ -381,6 +381,11 @@ request_rec *h2_create_request_rec(const h2_request *req, conn_rec *c,
|
|||||||
r->the_request = apr_psprintf(r->pool, "%s %s HTTP/2.0",
|
r->the_request = apr_psprintf(r->pool, "%s %s HTTP/2.0",
|
||||||
req->method, req->path);
|
req->method, req->path);
|
||||||
}
|
}
|
||||||
|
else if (!apr_strnatcasecmp("CONNECT", req->method)) {
|
||||||
|
/* CONNECT MUST NOT have scheme or path */
|
||||||
|
r->the_request = apr_psprintf(r->pool, "%s %s HTTP/2.0",
|
||||||
|
req->method, req->authority);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
/* We should only come here on a request that is errored already.
|
/* We should only come here on a request that is errored already.
|
||||||
* create a request line that passes parsing, we'll die anyway.
|
* create a request line that passes parsing, we'll die anyway.
|
||||||
|
@@ -131,8 +131,13 @@ static apr_status_t activate_slot(h2_workers *workers)
|
|||||||
apr_pool_tag(pool, "h2_worker_slot");
|
apr_pool_tag(pool, "h2_worker_slot");
|
||||||
slot->pool = pool;
|
slot->pool = pool;
|
||||||
|
|
||||||
|
#if defined(AP_HAS_THREAD_LOCAL)
|
||||||
rv = ap_thread_create(&slot->thread, workers->thread_attr,
|
rv = ap_thread_create(&slot->thread, workers->thread_attr,
|
||||||
slot_run, slot, slot->pool);
|
slot_run, slot, slot->pool);
|
||||||
|
#else
|
||||||
|
rv = apr_thread_create(&slot->thread, workers->thread_attr,
|
||||||
|
slot_run, slot, slot->pool);
|
||||||
|
#endif
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (rv != APR_SUCCESS) {
|
if (rv != APR_SUCCESS) {
|
||||||
|
Reference in New Issue
Block a user