#include <httpd.h>
#include <http_core.h>
+#include <http_protocol.h>
#include <http_config.h>
#include <http_log.h>
apr_status_t status;
req->method = r->method;
- req->authority = r->hostname;
- req->path = r->uri;
req->scheme = (r->parsed_uri.scheme? r->parsed_uri.scheme
- : r->server->server_scheme);
-
- if (!ap_strchr_c(req->authority, ':') && r->parsed_uri.port_str) {
- req->authority = apr_psprintf(r->pool, "%s:%s", req->authority,
- r->parsed_uri.port_str);
+ : ap_http_scheme(r));
+ req->authority = r->hostname;
+ req->path = apr_uri_unparse(r->pool, &r->parsed_uri,
+ APR_URI_UNP_OMITSITEPART);
+
+ if (!ap_strchr_c(req->authority, ':') && r->server) {
+ req->authority = apr_psprintf(r->pool, "%s:%d", req->authority,
+ (int)r->server->port);
}
+ AP_DEBUG_ASSERT(req->scheme);
+ AP_DEBUG_ASSERT(req->authority);
+ AP_DEBUG_ASSERT(req->path);
+ AP_DEBUG_ASSERT(req->method);
+
status = add_all_h1_header(req, r->pool, r->headers_in);
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r,
"h2_request(%d): rwrite %s host=%s://%s%s",
req->id, req->method, req->scheme, req->authority, req->path);
-
+
return status;
}
size_t n;
AP_DEBUG_ASSERT(req);
+ AP_DEBUG_ASSERT(req->scheme);
+ AP_DEBUG_ASSERT(req->authority);
+ AP_DEBUG_ASSERT(req->path);
+ AP_DEBUG_ASSERT(req->method);
n = 4;
apr_table_do(count_header, &n, req->headers, NULL);