diff options
Diffstat (limited to 'src/supplemental/http')
| -rw-r--r-- | src/supplemental/http/http.h | 5 | ||||
| -rw-r--r-- | src/supplemental/http/http_client.c | 4 | ||||
| -rw-r--r-- | src/supplemental/http/http_public.c | 87 |
3 files changed, 84 insertions, 12 deletions
diff --git a/src/supplemental/http/http.h b/src/supplemental/http/http.h index e44ddc76..7fadf705 100644 --- a/src/supplemental/http/http.h +++ b/src/supplemental/http/http.h @@ -20,6 +20,7 @@ typedef struct nng_http_res nni_http_res; typedef struct nng_http_conn nni_http_conn; typedef struct nng_http_handler nni_http_handler; typedef struct nng_http_server nni_http_server; +typedef struct nng_http_client nni_http_client; // These functions are private to the internal framework, and really should // not be used elsewhere. @@ -259,9 +260,7 @@ extern const char *nni_http_handler_get_uri(nni_http_handler *); // Client stuff. -typedef struct nni_http_client nni_http_client; - -extern int nni_http_client_init(nni_http_client **, nni_url *); +extern int nni_http_client_init(nni_http_client **, const nni_url *); extern void nni_http_client_fini(nni_http_client *); // nni_http_client_set_tls sets the TLS configuration. This wipes out diff --git a/src/supplemental/http/http_client.c b/src/supplemental/http/http_client.c index 345e5947..918b7b09 100644 --- a/src/supplemental/http/http_client.c +++ b/src/supplemental/http/http_client.c @@ -18,7 +18,7 @@ #include "http.h" -struct nni_http_client { +struct nng_http_client { nni_list aios; nni_mtx mtx; bool closed; @@ -95,7 +95,7 @@ nni_http_client_fini(nni_http_client *c) } int -nni_http_client_init(nni_http_client **cp, nni_url *url) +nni_http_client_init(nni_http_client **cp, const nni_url *url) { int rv; nni_http_client *c; diff --git a/src/supplemental/http/http_public.c b/src/supplemental/http/http_public.c index f19b83b1..6c28e835 100644 --- a/src/supplemental/http/http_public.c +++ b/src/supplemental/http/http_public.c @@ -377,7 +377,9 @@ nng_http_conn_read(nng_http_conn *conn, nng_aio *aio) nni_http_read(conn, aio); #else NNI_ARG_UNUSED(conn); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -388,7 +390,9 @@ nng_http_conn_read_all(nng_http_conn *conn, nng_aio *aio) nni_http_read_full(conn, aio); #else NNI_ARG_UNUSED(conn); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -399,7 +403,9 @@ nng_http_conn_write(nng_http_conn *conn, nng_aio *aio) nni_http_write(conn, aio); #else NNI_ARG_UNUSED(conn); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -422,7 +428,9 @@ nng_http_conn_write_req(nng_http_conn *conn, nng_http_req *req, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(req); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -434,7 +442,9 @@ nng_http_conn_write_res(nng_http_conn *conn, nng_http_res *res, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(res); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -446,7 +456,9 @@ nng_http_conn_read_req(nng_http_conn *conn, nng_http_req *req, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(req); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -458,7 +470,9 @@ nng_http_conn_read_res(nng_http_conn *conn, nng_http_res *res, nng_aio *aio) #else NNI_ARG_UNUSED(conn); NNI_ARG_UNUSED(res); - NNI_ARG_UNUSED(aio); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } #endif } @@ -666,3 +680,62 @@ nng_http_server_get_tls(nng_http_server *srv, nng_tls_config **cfgp) return (NNG_ENOTSUP); #endif } + +int +nng_http_client_alloc(nng_http_client **clip, const nng_url *url) +{ +#ifdef NNG_SUPP_HTTP + return (nni_http_client_init(clip, url)); +#else + NNI_ARG_UNUSED(clip); + NNI_ARG_UNUSED(url); + return (NNG_ENOTSUP); +#endif +} + +void +nng_http_client_free(nng_http_client *cli) +{ +#ifdef NNG_SUPP_HTTP + nni_http_client_fini(cli); +#else + NNI_ARG_UNUSED(cli); +#endif +} + +int +nng_http_client_set_tls(nng_http_client *cli, nng_tls_config *cfg) +{ +#if defined(NNG_SUPP_HTTP) && defined(NNG_SUPP_TLS) + return (nni_http_client_set_tls(cli, cfg)); +#else + NNI_ARG_UNUSED(cli); + NNI_ARG_UNUSED(cfg); + return (NNG_ENOTSUP); +#endif +} + +int +nng_http_client_get_tls(nng_http_client *cli, nng_tls_config **cfgp) +{ +#if defined(NNG_SUPP_HTTP) && defined(NNG_SUPP_TLS) + return (nni_http_client_get_tls(cli, cfgp)); +#else + NNI_ARG_UNUSED(cli); + NNI_ARG_UNUSED(cfgp); + return (NNG_ENOTSUP); +#endif +} + +void +nng_http_client_connect(nng_http_client *cli, nng_aio *aio) +{ +#ifdef NNG_SUPP_HTTP + return (nni_http_client_connect(cli, aio)); +#else + NNI_ARG_UNUSED(cli); + if (nni_aio_start(aio, NULL, NULL)) { + nni_aio_finish_error(aio, NNG_ENOTSUP); + } +#endif +} |
