/* redefine 1.3.x symbols to the new symbol names */
#define MODULE_VAR_EXPORT AP_MODULE_DECLARE_DATA
+#define ap_send_http_header(r) ;
#endif /* APR_COMPAT_H */
r->clength = match->finfo.size;
apr_table_setn(r->headers_out, "Content-Length", match->sizestr);
- ap_send_http_header(r);
-
/* Call appropriate handler */
if (!r->header_only) {
if (match->is_mmapped == TRUE)
(void) ap_discard_request_body(r);
/* begin the response now... */
- ap_send_http_header(r);
-
ap_rvputs(r,
DAV_RESPONSE_BODY_1,
r->status_line,
r->status = status;
r->content_type = DAV_XML_CONTENT_TYPE;
- /* Send all of the headers now */
- ap_send_http_header(r);
-
- /* Send the actual multistatus response now... */
+ /* Send the headers and actual multistatus response now... */
ap_rputs(DAV_XML_HEADER DEBUG_CR
"<D:multistatus xmlns:D=\"DAV:\"", r);
}
if (r->header_only) {
- ap_send_http_header(r);
return DONE;
}
return dav_handle_err(r, err, NULL);
}
- /* all set. send the headers now. */
- ap_send_http_header(r);
-
buffer = apr_palloc(r->pool, DAV_READ_BLOCKSIZE);
while (1) {
apr_size_t amt;
if (doc == NULL) {
ap_set_content_length(r, 0);
- /* ### this will send a Content-Type. the default OPTIONS does not. */
- ap_send_http_header(r);
+ /* ### this sends a Content-Type. the default OPTIONS does not. */
/* ### the default (ap_send_http_options) returns OK, but I believe
* ### that is because it is the default handler and nothing else
r->status = HTTP_OK;
r->content_type = DAV_XML_CONTENT_TYPE;
- /* send the headers */
- ap_send_http_header(r);
-
- /* send the response body */
+ /* send the headers and response body */
ap_rputs(DAV_XML_HEADER DEBUG_CR
"<D:options-response xmlns:D=\"DAV:\">" DEBUG_CR, r);
r->status = HTTP_OK;
r->content_type = DAV_XML_CONTENT_TYPE;
- ap_send_http_header(r);
-
ap_rputs(DAV_XML_HEADER DEBUG_CR "<D:prop xmlns:D=\"DAV:\">" DEBUG_CR, r);
if (lock == NULL)
ap_rputs("<D:lockdiscovery/>" DEBUG_CR, r);
/* no body */
ap_set_content_length(r, 0);
- ap_send_http_header(r);
return DONE;
}
/* no body */
ap_set_content_length(r, 0);
- ap_send_http_header(r);
return DONE;
}
/* no body */
ap_set_content_length(r, 0);
- ap_send_http_header(r);
return DONE;
}
/* no body */
ap_set_content_length(r, 0);
- ap_send_http_header(r);
return DONE;
}
r->status = HTTP_OK;
r->content_type = DAV_XML_CONTENT_TYPE;
- /* send the headers and start a timeout */
- ap_send_http_header(r);
-
- /* send the response body */
+ /* send the headers and response body */
ap_rputs(DAV_XML_HEADER DEBUG_CR, r);
for (t = hdr.first; t != NULL; t = t->next)
* is broken.
*/
r->content_type = "text/html";
- ap_send_http_header(r);
/*
* If we're only supposed to send header information (HEAD request), we're
* already there.
return OK;
}
- ap_send_http_header(r);
if (!r->header_only) {
ap_send_fd(f, r, 0, r->finfo.size, &nbytes);
}
ap_set_last_modified(r);
ap_set_etag(r);
- ap_send_http_header(r);
-
if (r->header_only) {
apr_dir_close(thedir);
return 0;
return HTTP_MOVED_TEMPORARILY;
}
- ap_send_http_header(r);
if (!r->header_only) {
bb = apr_brigade_create(r->pool);
b = apr_bucket_pipe_create(script_in);
return HTTP_MOVED_TEMPORARILY;
}
- ap_send_http_header(r);
if (!r->header_only) {
bb = apr_brigade_create(r->pool);
b = apr_bucket_pipe_create(tempsock);
return HTTP_MOVED_TEMPORARILY;
}
- ap_send_http_header(r);
if (!r->header_only) {
bcgi = apr_brigade_create(r->pool);
b = apr_bucket_pipe_create(tempsock);
return DECLINED;
r->content_type = "text/html";
- ap_send_http_header(r);
if (r->header_only) {
return 0;
}
}
}
- ap_send_http_header(r);
-
if (r->header_only)
return 0;
return rv;
r->content_type = "message/http";
- ap_send_http_header(r);
/* Now we recreate the request, and echo it back */
}
}
-AP_DECLARE(void) ap_send_http_header(request_rec *r)
-{
-}
-
typedef struct header_filter_cts {
int headers_sent;
} header_filter_ctx;
}
if (status == HTTP_NO_CONTENT) {
- ap_send_http_header(r);
ap_finalize_request_protocol(r);
return;
}
apr_table_setn(r->headers_out, "Allow", make_allow(r));
}
- ap_send_http_header(r);
-
if (r->header_only) {
ap_finalize_request_protocol(r);
return;
* @param r The current request
* @param bb The brigade to add the header to.
* @warning Modules should be very careful about using this, and should
- * prefer ap_send_http_header(). Much of the HTTP/1.1 implementation
- * correctness depends on code in ap_send_http_header().
+ * the default behavior. Much of the HTTP/1.1 implementation
+ * correctness depends on the full headers.
* @deffunc void ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb)
*/
AP_DECLARE(void) ap_basic_http_header(request_rec *r, apr_bucket_brigade *bb);
-/**
- * Send the Status-Line and header fields for HTTP response
- * @param r The current request
- * @deffunc void ap_send_http_header(request_rec *r)
- */
-AP_DECLARE(void) ap_send_http_header(request_rec *r);
-
AP_DECLARE(int) ap_send_http_trace(request_rec *r);
int ap_send_http_options(request_rec *r);
static void menu_header(request_rec *r, char *menu)
{
r->content_type = "text/html";
- ap_send_http_header(r);
-
ap_rvputs(r, DOCTYPE_HTML_3_2, "<html><head>\n<title>Menu for ", r->uri,
"</title>\n</head><body>\n", NULL);
ap_set_last_modified(r);
ap_set_etag(r);
- ap_send_http_header(r);
-
if (r->header_only) {
apr_dir_close(thedir);
return 0;
return DECLINED;
r->content_type = "text/html";
- ap_send_http_header(r);
if(r->header_only) {
return 0;
}
return DECLINED;
r->content_type = "text/html";
- ap_send_http_header(r);
if(r->header_only) {
return 0;
}
ap_scoreboard_image
ap_send_error_response
ap_send_fd
-ap_send_http_header
ap_send_http_options
ap_send_http_trace
ap_send_mmap