httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Bannert <aa...@clove.org>
Subject Re: [PATCH] flood and content-type setting
Date Mon, 15 Mar 2004 01:27:16 GMT
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. */


Mime
View raw message