2009-11-28 14:14:36 -05:00
|
|
|
/*
|
2009-11-08 05:35:37 -05:00
|
|
|
* http_client - HTTP client
|
|
|
|
* Copyright (c) 2009, Jouni Malinen <j@w1.fi>
|
|
|
|
*
|
2012-02-11 09:46:35 -05:00
|
|
|
* This software may be distributed under the terms of the BSD license.
|
|
|
|
* See README for more details.
|
2009-11-08 05:35:37 -05:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef HTTP_CLIENT_H
|
|
|
|
#define HTTP_CLIENT_H
|
|
|
|
|
|
|
|
struct http_client;
|
|
|
|
|
|
|
|
enum http_client_event {
|
|
|
|
HTTP_CLIENT_FAILED,
|
|
|
|
HTTP_CLIENT_TIMEOUT,
|
|
|
|
HTTP_CLIENT_OK,
|
|
|
|
HTTP_CLIENT_INVALID_REPLY,
|
|
|
|
};
|
|
|
|
|
2009-11-09 13:01:50 -05:00
|
|
|
char * http_client_url_parse(const char *url, struct sockaddr_in *dst,
|
|
|
|
char **path);
|
2009-11-08 05:35:37 -05:00
|
|
|
struct http_client * http_client_addr(struct sockaddr_in *dst,
|
|
|
|
struct wpabuf *req, size_t max_response,
|
|
|
|
void (*cb)(void *ctx,
|
|
|
|
struct http_client *c,
|
|
|
|
enum http_client_event event),
|
|
|
|
void *cb_ctx);
|
|
|
|
struct http_client * http_client_url(const char *url,
|
|
|
|
struct wpabuf *req, size_t max_response,
|
|
|
|
void (*cb)(void *ctx,
|
|
|
|
struct http_client *c,
|
|
|
|
enum http_client_event event),
|
|
|
|
void *cb_ctx);
|
|
|
|
void http_client_free(struct http_client *c);
|
|
|
|
struct wpabuf * http_client_get_body(struct http_client *c);
|
2009-12-19 16:20:22 -05:00
|
|
|
char * http_client_get_hdr_line(struct http_client *c, const char *tag);
|
2009-11-08 09:46:03 -05:00
|
|
|
char * http_link_update(char *url, const char *base);
|
2009-11-08 05:35:37 -05:00
|
|
|
|
|
|
|
#endif /* HTTP_CLIENT_H */
|