Lines Matching refs:req
13 oauth2_parse_json(struct oauth2_request *req)
20 req->field_name = NULL;
22 while((ret = json_parse_next(req->parser, &type, &token)) > 0) {
23 if (req->field_name == NULL) {
27 req->field_name = p_strdup(req->pool, token);
30 p_free(req->pool, req->field_name);
31 json_parse_skip_next(req->parser);
33 if (!array_is_created(&req->fields))
34 p_array_init(&req->fields, req->pool, 4);
36 array_append_space(&req->fields);
37 field->name = req->field_name;
38 req->field_name = NULL;
39 field->value = p_strdup(req->pool, token);
46 io_remove(&req->io);
49 (void)json_parser_deinit(&req->parser, &error);
52 } else if (i_stream_read_eof(req->is) &&
53 req->is->v_offset == 0 && req->is->stream_errno == 0) {
55 (void)json_parser_deinit(&req->parser, &error);
59 ret = json_parser_deinit(&req->parser, &error);
63 i_stream_unref(&req->is);
65 req->json_parsed_cb(req, success, error);
71 struct oauth2_request *req = *_req;
74 if (req->req != NULL)
75 http_client_request_abort(&req->req);
76 oauth2_request_free_internal(req);
80 oauth2_request_free_internal(struct oauth2_request *req)
82 timeout_remove(&req->to_delayed_error);
83 pool_unref(&req->pool);
93 void oauth2_request_set_headers(struct oauth2_request *req,
96 if (!req->set->send_auth_headers)
99 http_client_request_add_header(req->req, "X-Dovecot-Auth-Service",
105 http_client_request_add_header(req->req, "X-Dovecot-Auth-Local", addr);
110 http_client_request_add_header(req->req, "X-Dovecot-Auth-Remote", addr);