Modified: serf/branches/1.3.x-sslbuild/test/test_util.c URL: http://svn.apache.org/viewvc/serf/branches/1.3.x-sslbuild/test/test_util.c?rev=1910116&r1=1910115&r2=1910116&view=diff ============================================================================== --- serf/branches/1.3.x-sslbuild/test/test_util.c (original) +++ serf/branches/1.3.x-sslbuild/test/test_util.c Mon May 29 15:35:20 2023 @@ -369,6 +369,8 @@ test_https_server_proxy_setup(test_baton keyfile, certfiles, client_cn, pool); status = start_test_server(tb->serv_ctx); + if (status != APR_SUCCESS) + return status; /* Prepare the proxy. */ setup_test_server(&tb->proxy_ctx, tb->proxy_addr, @@ -498,8 +500,13 @@ apr_status_t setup_request(serf_request_ { handler_baton_t *ctx = setup_baton; serf_bucket_t *body_bkt; + apr_status_t status = APR_SUCCESS; - if (ctx->request) + if (ctx->request_setup) + { + status = ctx->request_setup(request, setup_baton, req_bkt, pool); + } + else if (ctx->request) { /* Create a raw request bucket. */ *req_bkt = serf_bucket_simple_create(ctx->request, strlen(ctx->request), @@ -533,7 +540,7 @@ apr_status_t setup_request(serf_request_ *handler = ctx->handler; *handler_baton = ctx; - return APR_SUCCESS; + return status; } apr_status_t handle_response(serf_request_t *request, @@ -577,6 +584,7 @@ apr_status_t handle_response(serf_reques void setup_handler(test_baton_t *tb, handler_baton_t *handler_ctx, const char *method, const char *path, int req_id, + test_request_setup_t req_setup, serf_response_handler_t handler) { handler_ctx->method = method; @@ -592,6 +600,7 @@ void setup_handler(test_baton_t *tb, han handler_ctx->handled_requests = tb->handled_requests; handler_ctx->tb = tb; handler_ctx->request = NULL; + handler_ctx->request_setup = req_setup; } void create_new_prio_request(test_baton_t *tb, @@ -599,7 +608,7 @@ void create_new_prio_request(test_baton_ const char *method, const char *path, int req_id) { - setup_handler(tb, handler_ctx, method, path, req_id, NULL); + setup_handler(tb, handler_ctx, method, path, req_id, NULL, NULL); serf_connection_priority_request_create(tb->connection, setup_request, handler_ctx); @@ -610,20 +619,21 @@ void create_new_request(test_baton_t *tb const char *method, const char *path, int req_id) { - setup_handler(tb, handler_ctx, method, path, req_id, NULL); + setup_handler(tb, handler_ctx, method, path, req_id, NULL, NULL); serf_connection_request_create(tb->connection, setup_request, handler_ctx); } void -create_new_request_with_resp_hdlr(test_baton_t *tb, - handler_baton_t *handler_ctx, - const char *method, const char *path, - int req_id, - serf_response_handler_t handler) +create_new_request_ex(test_baton_t *tb, + handler_baton_t *handler_ctx, + const char *method, const char *path, + int req_id, + test_request_setup_t req_setup, + serf_response_handler_t handler) { - setup_handler(tb, handler_ctx, method, path, req_id, handler); + setup_handler(tb, handler_ctx, method, path, req_id, req_setup, handler); serf_connection_request_create(tb->connection, setup_request, handler_ctx);