Lines Matching refs:req

41     struct tevent_req *req;
47 req = tevent_req_create(mem_ctx, &state, struct sec_http_request_state);
48 if (!req) return NULL;
71 tevent_req_set_callback(subreq, sec_http_request_pipeline_done, req);
72 return req;
76 tevent_req_error(req, ret);
78 return tevent_req_post(req, state->ev);
83 struct tevent_req *req;
86 req = tevent_req_callback_data(subreq, struct tevent_req);
92 tevent_req_error(req, ret);
96 tevent_req_error(req, ret);
99 tevent_req_done(req);
103 static int sec_http_request_recv(struct tevent_req *req)
105 TEVENT_REQ_RETURN_ON_ERROR(req);
113 sec_http_request_done(struct tevent_req *req)
119 secreq = tevent_req_callback_data(req, struct sec_req_ctx);
122 ret = sec_http_request_recv(req);
151 struct tevent_req *req;
155 req = sec_http_request_send(secreq, cctx->ev, secreq);
156 if (!req) {
162 tevent_req_set_callback(req, sec_http_request_done, secreq);
178 static bool sec_too_much_data(struct sec_req_ctx *req, size_t length)
180 req->total_size += length;
181 if (req->max_payload_size > 0
182 && req->total_size > req->max_payload_size) {
200 struct sec_req_ctx *req =
203 if (sec_too_much_data(req, length)) return -1;
205 sec_append_string(req, &req->request_url, at, length);
206 if (!req->request_url) {
217 struct sec_req_ctx *req =
219 int n = req->num_headers;
221 if (sec_too_much_data(req, length)) return -1;
223 if (!req->headers) {
224 req->headers = talloc_zero_array(req, struct sec_kvp, 10);
226 (req->headers[n - 1].value)) {
227 req->headers = talloc_realloc(req, req->headers,
229 if (req->headers) {
230 memset(&req->headers[n], 0, sizeof(struct sec_kvp) * 10);
233 if (!req->headers) {
239 if (!n || req->headers[n - 1].value) {
243 sec_append_string(req->headers, &req->headers[n - 1].name, at, length);
244 if (!req->headers[n - 1].name) {
256 struct sec_req_ctx *req =
258 int n = req->num_headers;
260 if (sec_too_much_data(req, length)) return -1;
262 if (!req->headers) {
268 if (req->headers[n].name && !req->headers[n].value) {
270 n = ++req->num_headers;
273 sec_append_string(req->headers, &req->headers[n - 1].value, at, length);
274 if (!req->headers[n - 1].value) {
292 struct sec_req_ctx *req =
295 if (sec_too_much_data(req, length)) return -1;
297 sec_append_string(req, &req->body.data, at, length);
298 if (!req->body.data) {
303 req->body.length += length;
326 struct sec_req_ctx *req =
332 ret = http_parser_parse_url(req->request_url,
333 strlen(req->request_url),
337 "Failed to parse URL %s\n", req->request_url);
342 ret = sec_get_parsed_field(req, UF_SCHEMA, &parsed,
343 req->request_url,
344 &req->parsed_url.schema);
347 "Failed to retrieve schema from %s\n", req->request_url);
350 DEBUG(SSSDBG_TRACE_INTERNAL, "schema: %s\n", req->parsed_url.schema);
354 ret = sec_get_parsed_field(req, UF_HOST, &parsed,
355 req->request_url,
356 &req->parsed_url.host);
359 "Failed to retrieve host from %s\n", req->request_url);
362 DEBUG(SSSDBG_TRACE_INTERNAL, "host: %s\n", req->parsed_url.host);
366 req->parsed_url.port = parsed.port;
367 DEBUG(SSSDBG_TRACE_INTERNAL, "port: %d\n", req->parsed_url.port);
371 ret = sec_get_parsed_field(req, UF_PATH, &parsed,
372 req->request_url,
373 &req->parsed_url.path);
376 "Failed to retrieve path from %s\n", req->request_url);
379 DEBUG(SSSDBG_TRACE_INTERNAL, "path: %s\n", req->parsed_url.path);
383 ret = sec_get_parsed_field(req, UF_QUERY, &parsed,
384 req->request_url,
385 &req->parsed_url.query);
388 "Failed to retrieve query from %s\n", req->request_url);
391 DEBUG(SSSDBG_TRACE_INTERNAL, "query: %s\n", req->parsed_url.query);
395 ret = sec_get_parsed_field(req, UF_FRAGMENT, &parsed,
396 req->request_url,
397 &req->parsed_url.fragment);
400 "Failed to retrieve fragment from %s\n", req->request_url);
404 "fragment: %s\n", req->parsed_url.fragment);
408 ret = sec_get_parsed_field(req, UF_USERINFO, &parsed,
409 req->request_url,
410 &req->parsed_url.userinfo);
413 "Failed to retrieve userinfo from %s\n", req->request_url);
417 "userinfo: %s\n", req->parsed_url.userinfo);
420 req->method = parser->method;
422 req->complete = true;
462 struct sec_req_ctx *req;
465 req = talloc_get_type(cctx->state_ctx, struct sec_req_ctx);
467 ret = sec_send_data(cctx->cfd, &req->reply);
516 struct sec_req_ctx *req;
526 req = talloc_get_type(cctx->state_ctx, struct sec_req_ctx);
527 if (!req) {
529 req = talloc_zero(cctx, struct sec_req_ctx);
530 if (!req) {
536 req->cctx = cctx;
537 req->max_payload_size = sec_ctx->max_payload_size;
538 cctx->state_ctx = req;
540 prctx->parser.data = req;
574 if (!req->complete) {