On Mon, Nov 30, 2009 at 8:49 AM, Yoichi Kawasaki <yokaw...@gmail.com> wrote:
> 2009/11/21 Sorin Manolache <sor...@gmail.com>: > > On Fri, Nov 20, 2009 at 22:01, pranil dasika <pranil.das...@gmail.com> > wrote: > >> Hi, > >> > >> I am trying to write a custom module where I need to read post > parameters > >> from the request. I guess apreq library is relevant to this but could > not > >> find any substantial examples or documents. > >> Is there any other way to read the params other than apreq. Any > pseudocode/ > >> examples will be appreciated. > >> > >> Thanks, > >> Pranil > >> > > > > Here you have an example. It is not optimal, you could, for example, > > take the brigade creation out of the loop and clean the brigade at the > > end of each iteration, after you extracted the data. > > > > apr_bucket_brigade *bb; > > do { > > bb = apr_brigade_create(req->pool, req->connection->bucket_alloc); > > if (0 == bb) > > // error > > if (APR_SUCCESS != ap_get_brigade(req->input_filters, bb, > > AP_MODE_READBYTES, APR_BLOCK_READ, 9216)) > > // error > > extract data from bb; > > } while (EOS not yet encountered in bb); > > > > > > S > > > > > Hi > > I have an another example. I read post parameters in the source code > below: > > http://github.com/yokawasa/mod_akismet/blob/master/mod_akismet.c#L647 > line: 647 - 705 > > hope this helps you. > > Yoichi > > -- > Yoichi Kawasaki <yokaw...@gmail.com> > Sorin, Yoichi, Thanks for your responses. The below code worked for me using apreq. const apr_table_t* args; apreq_handle_t* h = apreq_handle_apache2(r); apreq_body(h, &args); const char *params = apreq_params_as_string(r->pool, args, NULL, APREQ_JOIN_QUOTE); -Pranil