On May 6, 2010, at 8:40 AM, Some Guy wrote: > I wanted to do something similar, but the Apache 2 APIs require a > request_rec* in the lookup_uri method. Tracing the code in request.c, it > uses the passed in request_rec* in make_sub_request. > > The example Joe provided won't compile, and the request_rec can't be NULL > otherwise the code will segfault. Any other ways to do this?
There are many ways - you can use libCURL to make the request, or you can revisit the two code examples I gave you. One was from my memory, then realizing I had forgotten a lot of it, I scraped some code from a functional module. Did you notice both examples? The bottom one was just to point you in the right direction. I have simplified the other one that I had scraped from a functional module, and stuffed it into a fresh module generated by "apxs -g -n subrequest", and it compiled quite nicely. The diff : 47a48,55 > request_rec *subr; > int return_code; > subr = ap_sub_req_lookup_uri("/index.html",r,NULL); > if ((subr != NULL) && (subr->status == HTTP_OK)) { > return_code = ap_run_sub_req(subr); > ap_destroy_sub_req(subr); > } > I am presuming you copied and pasted my over simplified example at the bottom of my response rather than using the top code section. > > On Tue, Apr 20, 2010 at 4:35 PM, Joe Lewis <j...@joe-lewis.com> wrote: > >> ((template_context *)f->ctx)->include_r = >> ap_sub_req_lookup_uri(uri,f->r,((template_context >> *)f->ctx)->include_filter); >> apr_table_setn(((template_context >> *)f->ctx)->include_r->notes,TEMPLATE_OVERRIDE_PARSER,"-"); >> if ((((template_context *)f->ctx)->include_r != NULL) && >> (((template_context *)f->ctx)->include_r->status == HTTP_OK)) { >> #ifdef DEBUG >> ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, f->r, "mod_template: >> mod_template_include() - calling ap_run_sub_req()"); >> >> On Apr 20, 2010, at 2:20 PM, <markus.l...@dlr.de> <markus.l...@dlr.de> >> wrote: >> >>> >>> Hi. Can I build a request completely free and send it with >>> ap_run_sub_req? I could not find any good documentation or examples. >>> >>> Thanks >>> Markus