@@ -8,6 +8,8 @@ const int SSL = 1;
88#include <string.h>
99
1010char request_template [] = "GET / HTTP/1.1\r\nHost: localhost:3000\r\nUser-Agent: curl/7.68.0\r\nAccept: */*\r\n\r\n" ;
11+ char request_template_post [] = "POST / HTTP/1.1\r\nHost: localhost:3000\r\nUser-Agent: curl/7.68.0\r\nAccept: */*\r\nContent-Length: 10\r\n\r\n{\"key\":13}" ;
12+
1113char * request ;
1214int request_size ;
1315char * host ;
@@ -16,6 +18,7 @@ int connections;
1618
1719int responses ;
1820int pipeline = 1 ;
21+ int is_post = 0 ;
1922
2023struct http_socket {
2124 /* How far we have streamed our request */
@@ -114,21 +117,32 @@ struct us_socket_t *on_http_socket_connect_error(struct us_socket_t *s, int code
114117int main (int argc , char * * argv ) {
115118
116119 /* Parse host and port */
117- if (argc != 5 && argc != 4 ) {
118- printf ("Usage: connections host port [pipeline factor] \n" );
120+ if (argc != 5 && argc != 4 && argc != 6 ) {
121+ printf ("Usage: connections host port [pipeline factor] [with body] \n" );
119122 return 0 ;
120123 }
121124
122- if (argc = = 5 ) {
125+ if (argc > = 5 ) {
123126 pipeline = atoi (argv [4 ]);
124127 printf ("Using pipeline factor of %d\n" , pipeline );
125128 }
129+
130+ const char * selected_request = request_template ;
131+ int selected_request_size = sizeof (request_template ) - 1 ;
132+
133+ if (argc >= 6 ) {
134+ is_post = atoi (argv [5 ]);
135+ printf ("Using post with body\n" );
136+
137+ selected_request = request_template_post ;
138+ selected_request_size = sizeof (request_template_post ) - 1 ;
139+ }
126140 /* Pipeline to 16 */
127- request_size = pipeline * ( sizeof ( request_template ) - 1 ) ;
141+ request_size = pipeline * selected_request_size ;
128142 printf ("request size %d\n" , request_size );
129143 request = malloc (request_size );
130144 for (int i = 0 ; i < pipeline ; i ++ ) {
131- memcpy (request + i * ( sizeof ( request_template ) - 1 ), request_template , sizeof ( request_template ) - 1 );
145+ memcpy (request + i * selected_request_size , selected_request , selected_request_size );
132146 }
133147
134148 port = atoi (argv [3 ]);
0 commit comments