Lines Matching full:req

30 	void (*cb)(void *ctx, struct http_request *req);
44 struct http_request *req = cookie; in http_request_cb() local
45 struct http_server *srv = req->srv; in http_request_cb()
49 inet_ntoa(req->cli.sin_addr), in http_request_cb()
50 ntohs(req->cli.sin_port)); in http_request_cb()
51 srv->cb(srv->cb_ctx, req); in http_request_cb()
55 "completely", inet_ntoa(req->cli.sin_addr), in http_request_cb()
56 ntohs(req->cli.sin_port)); in http_request_cb()
57 http_request_deinit(req); in http_request_cb()
64 struct http_request *req; in http_request_init() local
71 req = os_zalloc(sizeof(*req)); in http_request_init()
72 if (req == NULL) in http_request_init()
75 req->srv = srv; in http_request_init()
76 req->fd = fd; in http_request_init()
77 req->cli = *cli; in http_request_init()
79 req->hread = httpread_create(req->fd, http_request_cb, req, in http_request_init()
82 if (req->hread == NULL) { in http_request_init()
83 http_request_deinit(req); in http_request_init()
87 return req; in http_request_init()
91 void http_request_deinit(struct http_request *req) in http_request_deinit() argument
96 if (req == NULL) in http_request_deinit()
99 srv = req->srv; in http_request_deinit()
103 if (r == req) { in http_request_deinit()
115 httpread_destroy(req->hread); in http_request_deinit()
116 close(req->fd); in http_request_deinit()
117 os_free(req); in http_request_deinit()
121 static void http_request_free_all(struct http_request *req) in http_request_free_all() argument
124 while (req) { in http_request_free_all()
125 prev = req; in http_request_free_all()
126 req = req->next; in http_request_free_all()
132 void http_request_send(struct http_request *req, struct wpabuf *resp) in http_request_send() argument
138 inet_ntoa(req->cli.sin_addr), in http_request_send()
139 ntohs(req->cli.sin_port)); in http_request_send()
141 res = send(req->fd, wpabuf_head(resp), wpabuf_len(resp), 0); in http_request_send()
155 void http_request_send_and_deinit(struct http_request *req, in http_request_send_and_deinit() argument
158 http_request_send(req, resp); in http_request_send_and_deinit()
159 http_request_deinit(req); in http_request_send_and_deinit()
163 enum httpread_hdr_type http_request_get_type(struct http_request *req) in http_request_get_type() argument
165 return httpread_hdr_type_get(req->hread); in http_request_get_type()
169 char * http_request_get_uri(struct http_request *req) in http_request_get_uri() argument
171 return httpread_uri_get(req->hread); in http_request_get_uri()
175 char * http_request_get_hdr(struct http_request *req) in http_request_get_hdr() argument
177 return httpread_hdr_get(req->hread); in http_request_get_hdr()
181 char * http_request_get_data(struct http_request *req) in http_request_get_data() argument
183 return httpread_data_get(req->hread); in http_request_get_data()
187 char * http_request_get_hdr_line(struct http_request *req, const char *tag) in http_request_get_hdr_line() argument
189 return httpread_hdr_line_get(req->hread, tag); in http_request_get_hdr_line()
193 struct sockaddr_in * http_request_get_cli_addr(struct http_request *req) in http_request_get_cli_addr() argument
195 return &req->cli; in http_request_get_cli_addr()
205 struct http_request *req; in http_server_cb() local
216 req = http_request_init(srv, conn, &addr); in http_server_cb()
217 if (req == NULL) { in http_server_cb()
222 req->next = srv->requests; in http_server_cb()
223 srv->requests = req; in http_server_cb()
230 struct http_request *req), in http_server_init() argument