ASF Bugzilla – Attachment 24208 Details for
Bug 47788
ab does not support PUT requests
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
svn diff to modify ab.c to support PUT requests.
ab_svn_diff.txt (text/plain), 4.27 KB, created by
Jeff Barnes
on 2009-09-04 09:36:59 UTC
(
hide
)
Description:
svn diff to modify ab.c to support PUT requests.
Filename:
MIME Type:
Creator:
Jeff Barnes
Created:
2009-09-04 09:36:59 UTC
Size:
4.27 KB
patch
obsolete
>Index: support/ab.c >=================================================================== >--- support/ab.c (revision 808959) >+++ support/ab.c (working copy) >@@ -763,8 +763,10 @@ > if (keepalive) > printf("Keep-Alive requests: %d\n", doneka); > printf("Total transferred: %" APR_INT64_T_FMT " bytes\n", totalread); >- if (posting > 0) >+ if (posting == 1) > printf("Total POSTed: %" APR_INT64_T_FMT "\n", totalposted); >+ if (posting == 2) >+ printf("Total PUT: %" APR_INT64_T_FMT "\n", totalposted); > printf("HTML transferred: %" APR_INT64_T_FMT " bytes\n", totalbread); > > /* avoid divide by zero */ >@@ -1048,10 +1050,14 @@ > printf("<tr %s><th colspan=2 %s>Total transferred:</th>" > "<td colspan=2 %s>%" APR_INT64_T_FMT " bytes</td></tr>\n", > trstring, tdstring, tdstring, totalread); >- if (posting > 0) >+ if (posting == 1) > printf("<tr %s><th colspan=2 %s>Total POSTed:</th>" > "<td colspan=2 %s>%" APR_INT64_T_FMT "</td></tr>\n", > trstring, tdstring, tdstring, totalposted); >+ if (posting == 2) >+ printf("<tr %s><th colspan=2 %s>Total PUT:</th>" >+ "<td colspan=2 %s>%" APR_INT64_T_FMT "</td></tr>\n", >+ trstring, tdstring, tdstring, totalposted); > printf("<tr %s><th colspan=2 %s>HTML transferred:</th>" > "<td colspan=2 %s>%" APR_INT64_T_FMT " bytes</td></tr>\n", > trstring, tdstring, tdstring, totalbread); >@@ -1606,12 +1612,13 @@ > } > else { > snprintf_res = apr_snprintf(request, sizeof(_request), >- "POST %s HTTP/1.0\r\n" >+ "%s %s HTTP/1.0\r\n" > "%s" "%s" "%s" > "Content-length: %" APR_SIZE_T_FMT "\r\n" > "Content-type: %s\r\n" > "%s" > "\r\n", >+ (posting == 1) ? "POST" : "PUT", > (isproxy) ? fullurl : path, > keepalive ? "Connection: Keep-Alive\r\n" : "", > cookie, auth, >@@ -1623,14 +1630,15 @@ > } > > if (verbosity >= 2) >- printf("INFO: POST header == \n---\n%s\n---\n", request); >+ printf("INFO: %s header == \n---\n%s\n---\n", >+ (posting == 2) ? "PUT" : "POST", request); > > reqlen = strlen(request); > > /* > * Combine headers and (optional) post file into one contineous buffer > */ >- if (posting == 1) { >+ if (posting >= 1) { > char *buff = malloc(postlen + reqlen + 1); > if (!buff) { > fprintf(stderr, "error creating request buffer: out of memory\n"); >@@ -1831,6 +1839,7 @@ > fprintf(stderr, " -t timelimit Seconds to max. wait for responses\n"); > fprintf(stderr, " -b windowsize Size of TCP send/receive buffer, in bytes\n"); > fprintf(stderr, " -p postfile File containing data to POST. Remember also to set -T\n"); >+ fprintf(stderr, " -u putfile File containing data to PUT. Remember also to set -T\n"); > fprintf(stderr, " -T content-type Content-type header for POSTing, eg.\n"); > fprintf(stderr, " 'application/x-www-form-urlencoded'\n"); > fprintf(stderr, " Default is 'text/plain'\n"); >@@ -2022,7 +2031,7 @@ > #endif > > apr_getopt_init(&opt, cntxt, argc, argv); >- while ((status = apr_getopt(opt, "n:c:t:b:T:p:v:rkVhwix:y:z:C:H:P:A:g:X:de:Sq" >+ while ((status = apr_getopt(opt, "n:c:t:b:T:p:u:v:rkVhwix:y:z:C:H:P:A:g:X:de:Sq" > #ifdef USE_SSL > "Z:f:" > #endif >@@ -2047,8 +2056,8 @@ > windowsize = atoi(optarg); > break; > case 'i': >- if (posting == 1) >- err("Cannot mix POST and HEAD\n"); >+ if (posting > 0) >+ err("Cannot mix POST/PUT and HEAD\n"); > posting = -1; > break; > case 'g': >@@ -2073,6 +2082,16 @@ > exit(r); > } > break; >+ case 'u': >+ if (posting != 0) >+ err("Cannot mix PUT and HEAD\n"); >+ if (0 == (r = open_postfile(optarg))) { >+ posting = 2; >+ } >+ else if (postdata) { >+ exit(r); >+ } >+ break; > case 'r': > recverrok = 1; > break;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 47788
: 24208 |
24209
|
24210
|
24217