That does work, but it won't get me where I need to be. The problem is that the spoolfile isn't set after a parsing error - there is no brigade in param->upload upon a bad parse. I did find a simple way to get a filter in there:
apreq_hook_t * my_hook_handle = apreq_hook_make(req->pool, my_hook, NULL, NULL); apreq_hook_add(aph, my_hook_handle); I think I'll be able to set a note with this technique. Brian McQueen On 9/12/06, Issac Goldstand <[EMAIL PROTECTED]> wrote:
Well, the spool file is just a normal apr_file_t, and the actual file handle is accessable via apreq_brigade_spoolfile(), so you'll likely want to do something like: (untested) char[255] filename; apr_status_t rv; rv = apr_file_name_get(&filename, apreq_brigade_spoolfile(param->upload)); Issac Brian McQueen wrote: > I am trying to figure out how to get the name of the temp file created > by apreq when it spools to the disk. I have been through several > tries now and the most promising seems to be making a hook and adding > it to the parser. The hook would get the name from the brigade as the > request is parsed, then it could put the name into a note which my > module could get later. I'm struggling now to add my hook to the > parser. I have a parser function, but not a parser_t at that stage of > my code - prior to reading and parsing - and the add_hook function > requires a parser_t. At this stage the parser is not yet set. > > How can I directly add a hook to the parse_multipart parser? > Do any of you have any better ideas? > > Brian McQueen