This sounds reasonable to me, did it ever get committed? -aaron On Fri, Feb 13, 2004 at 09:44:15AM +0100, Philippe Marzouk wrote: > I needed to be able to set the content-type in POST type url, for > example to send a file so I added a parameter to the url element. > > The patch is attached to this mail for inclusion if it suits you > > Philippe
> Index: config.h.in > =================================================================== > RCS file: /home/cvspublic/httpd-test/flood/config.h.in,v > retrieving revision 1.30 > diff -u -b -B -r1.30 config.h.in > --- config.h.in 9 Sep 2003 13:59:17 -0000 1.30 > +++ config.h.in 13 Feb 2004 08:35:51 -0000 > @@ -22,6 +22,7 @@ > #define XML_URLLIST_METHOD_POST "post" > #define XML_URLLIST_METHOD_HEAD "head" > #define XML_URLLIST_PAYLOAD "payload" > +#define XML_URLLIST_CONTENT_TYPE "content-type" > #define XML_URLLIST_PAYLOAD_TEMPLATE "payloadtemplate" > #define XML_URLLIST_REQUEST_TEMPLATE "requesttemplate" > #define XML_URLLIST_RESPONSE_TEMPLATE "responsetemplate" > Index: flood_profile.h > =================================================================== > RCS file: /home/cvspublic/httpd-test/flood/flood_profile.h,v > retrieving revision 1.14 > diff -u -b -B -r1.14 flood_profile.h > --- flood_profile.h 1 Jan 2004 13:38:36 -0000 1.14 > +++ flood_profile.h 13 Feb 2004 08:35:51 -0000 > @@ -108,6 +108,9 @@ > /* Following only valid when method == POST */ > apr_size_t payloadsize; > void * payload; > + > + apr_size_t contenttypesize; > + char * contenttype; > > apr_uri_t *parsed_uri; > > Index: flood_round_robin.c > =================================================================== > RCS file: /home/cvspublic/httpd-test/flood/flood_round_robin.c,v > retrieving revision 1.38 > diff -u -b -B -r1.38 flood_round_robin.c > --- flood_round_robin.c 1 Jan 2004 13:38:36 -0000 1.38 > +++ flood_round_robin.c 13 Feb 2004 08:35:52 -0000 > @@ -109,6 +109,7 @@ > char *url; > method_e method; > char *payload; > + char *contenttype; > apr_int64_t predelay; > apr_int64_t predelayprecision; > apr_int64_t postdelay; > @@ -346,7 +347,7 @@ > "Connection: %s" CRLF > "Host: %s" CRLF > "Content-Length: %d" CRLF > - "Content-type: > application/x-www-form-urlencoded" CRLF > + "Content-type: %s" CRLF > "%s" > "%s" CRLF > "%s", > @@ -356,6 +357,7 @@ > r->keepalive ? "Keep-Alive" : "Close", > r->parsed_uri->hostinfo, > r->payloadsize, > + r->contenttype ? r->contenttype : > "application/x-www-form-urlencoded", > authz_hdr ? authz_hdr : "", > cookies, > (char*)r->payload); > @@ -432,6 +434,10 @@ > FLOOD_STRLEN_MAX) == 0) { > url->payload = (char*)attr->value; > } > + else if (strncasecmp(attr->name,XML_URLLIST_CONTENT_TYPE, > + FLOOD_STRLEN_MAX) == 0) { > + url->contenttype = (char*)attr->value; > + } > else if (strncasecmp(attr->name, XML_URLLIST_PREDELAY, > FLOOD_STRLEN_MAX) == 0) { > char *endptr; > @@ -527,6 +533,7 @@ > { > url->method = GET; > url->payload = NULL; > + url->contenttype = NULL; > } > > return APR_SUCCESS; > @@ -821,6 +828,12 @@ > r->payload = parse_param_string(rp, > > rp->url[rp->current_url].payloadtemplate); > r->payloadsize = strlen(r->payload); > + } > + > + if (rp->url[rp->current_url].contenttype) > + { > + r->contenttype = parse_param_string(rp, > rp->url[rp->current_url].contenttype); > + r->contenttypesize = strlen(r->contenttype); > } > > /* If they want a sleep, do it now. */