aboutsummaryrefslogtreecommitdiff
path: root/src/supplemental/http/http_public.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/supplemental/http/http_public.c')
-rw-r--r--src/supplemental/http/http_public.c411
1 files changed, 82 insertions, 329 deletions
diff --git a/src/supplemental/http/http_public.c b/src/supplemental/http/http_public.c
index dd35151a..ef000802 100644
--- a/src/supplemental/http/http_public.c
+++ b/src/supplemental/http/http_public.c
@@ -1,5 +1,5 @@
//
-// Copyright 2024 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2025 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This software is supplied under the terms of the MIT License, a
@@ -10,123 +10,30 @@
#include "core/nng_impl.h"
#include "http_api.h"
-#include "nng/supplemental/http/http.h"
+#include "nng/http.h"
// Symbols in this file are "public" versions of the HTTP API.
// These are suitable for exposure to applications.
-int
-nng_http_req_alloc(nng_http_req **reqp, const nng_url *url)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_req_alloc(reqp, url));
-#else
- NNI_ARG_UNUSED(reqp);
- NNI_ARG_UNUSED(url);
- return (NNG_ENOTSUP);
-#endif
-}
-
-void
-nng_http_req_free(nng_http_req *req)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_req_free(req);
-#else
- NNI_ARG_UNUSED(req);
-#endif
-}
-
-void
-nng_http_res_free(nng_http_res *res)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_res_free(res);
-#else
- NNI_ARG_UNUSED(res);
-#endif
-}
-
-int
-nng_http_res_alloc(nng_http_res **resp)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_alloc(resp));
-#else
- NNI_ARG_UNUSED(resp);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_res_alloc_error(nng_http_res **resp, uint16_t code)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_alloc_error(resp, code));
-#else
- NNI_ARG_UNUSED(resp);
- NNI_ARG_UNUSED(code);
- return (NNG_ENOTSUP);
-#endif
-}
-
const char *
-nng_http_req_get_header(const nng_http_req *req, const char *key)
+nng_http_get_header(nng_http *conn, const char *key)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_get_header(req, key));
+ return (nni_http_get_header(conn, key));
#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(key);
- return (NULL);
-#endif
-}
-
-const char *
-nng_http_res_get_header(const nng_http_res *res, const char *key)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_get_header(res, key));
-#else
- NNI_ARG_UNUSED(res);
+ NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(key);
return (NULL);
#endif
}
int
-nng_http_req_add_header(nng_http_req *req, const char *key, const char *val)
+nng_http_set_header(nng_http *conn, const char *key, const char *val)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_add_header(req, key, val));
+ return (nni_http_set_header(conn, key, val));
#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(key);
- NNI_ARG_UNUSED(val);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_res_add_header(nng_http_res *res, const char *key, const char *val)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_add_header(res, key, val));
-#else
- NNI_ARG_UNUSED(res);
- NNI_ARG_UNUSED(key);
- NNI_ARG_UNUSED(val);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_req_set_header(nng_http_req *req, const char *key, const char *val)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_req_set_header(req, key, val));
-#else
- NNI_ARG_UNUSED(req);
+ NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(key);
NNI_ARG_UNUSED(val);
return (NNG_ENOTSUP);
@@ -134,75 +41,37 @@ nng_http_req_set_header(nng_http_req *req, const char *key, const char *val)
}
int
-nng_http_res_set_header(nng_http_res *res, const char *key, const char *val)
+nng_http_add_header(nng_http *conn, const char *key, const char *val)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_res_set_header(res, key, val));
+ return (nni_http_add_header(conn, key, val));
#else
- NNI_ARG_UNUSED(res);
+ NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(key);
NNI_ARG_UNUSED(val);
return (NNG_ENOTSUP);
#endif
}
-int
-nng_http_req_del_header(nng_http_req *req, const char *key)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_req_del_header(req, key));
-#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(key);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_res_del_header(nng_http_res *res, const char *key)
+void
+nng_http_del_header(nng_http *conn, const char *key)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_res_del_header(res, key));
+ nni_http_del_header(conn, key);
#else
- NNI_ARG_UNUSED(res);
+ NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(key);
return (NNG_ENOTSUP);
#endif
}
-int
-nng_http_req_copy_data(nng_http_req *req, const void *data, size_t sz)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_req_copy_data(req, data, sz));
-#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(data);
- NNI_ARG_UNUSED(sz);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_res_copy_data(nng_http_res *res, const void *data, size_t sz)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_copy_data(res, data, sz));
-#else
- NNI_ARG_UNUSED(res);
- NNI_ARG_UNUSED(data);
- NNI_ARG_UNUSED(sz);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_req_set_data(nng_http_req *req, const void *data, size_t sz)
+void
+nng_http_set_body(nng_http *conn, void *data, size_t sz)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_set_data(req, data, sz));
+ nni_http_set_body(conn, data, sz);
#else
- NNI_ARG_UNUSED(req);
+ NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(data);
NNI_ARG_UNUSED(sz);
return (NNG_ENOTSUP);
@@ -210,212 +79,146 @@ nng_http_req_set_data(nng_http_req *req, const void *data, size_t sz)
}
int
-nng_http_res_set_data(nng_http_res *res, const void *data, size_t sz)
+nng_http_copy_body(nng_http *conn, const void *data, size_t len)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_res_set_data(res, data, sz));
+ return (nni_http_copy_body(conn, data, len));
#else
- NNI_ARG_UNUSED(res);
+ NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(data);
- NNI_ARG_UNUSED(sz);
+ NNI_ARG_UNUSED(len);
return (NNG_ENOTSUP);
#endif
}
void
-nng_http_req_get_data(nng_http_req *req, void **datap, size_t *lenp)
+nng_http_get_body(nng_http *conn, void **datap, size_t *lenp)
{
#ifdef NNG_SUPP_HTTP
- nni_http_req_get_data(req, datap, lenp);
+ nni_http_get_body(conn, datap, lenp);
#else
- NNI_ARG_UNUSED(req);
- *datap = NULL;
- *lenp = 0;
-#endif
-}
-
-void
-nng_http_res_get_data(nng_http_res *res, void **datap, size_t *lenp)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_res_get_data(res, datap, lenp);
-#else
- NNI_ARG_UNUSED(res);
- *datap = NULL;
- *lenp = 0;
+ NNI_ARG_UNUSED(conn);
+ NNI_ARG_UNUSED(datap);
+ NNI_ARG_UNUSED(lenp);
#endif
}
const char *
-nng_http_req_get_method(const nng_http_req *req)
+nng_http_get_uri(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_get_method(req));
+ return (nni_http_get_uri(conn));
#else
NNI_ARG_UNUSED(req);
return (NULL);
#endif
}
-const char *
-nng_http_req_get_version(const nng_http_req *req)
+int
+nng_http_set_uri(nng_http *conn, const char *uri, const char *query)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_get_version(req));
+ return (nni_http_set_uri(conn, uri, query));
#else
- NNI_ARG_UNUSED(req);
- return (NULL);
+ NNI_ARG_UNUSED(conn);
+ NNI_ARG_UNUSED(uri);
+ NNI_ARG_UNUSED(query);
+ return (NNG_ENOTSUP);
#endif
}
const char *
-nng_http_req_get_uri(const nng_http_req *req)
+nng_http_get_version(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_get_uri(req));
+ return (nni_http_get_version(conn));
#else
- NNI_ARG_UNUSED(req);
+ NNI_ARG_UNUSED(res);
return (NULL);
#endif
}
-void
-nng_http_req_set_method(nng_http_req *req, const char *meth)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_req_set_method(req, meth);
-#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(meth);
-#endif
-}
-
-int
-nng_http_req_set_version(nng_http_req *req, const char *vers)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_req_set_version(req, vers));
-#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(vers);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_req_set_url(nng_http_req *req, const nng_url *url)
+nng_http_res *
+nng_http_conn_res(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_set_url(req, url));
+ return (nni_http_conn_res(conn));
#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(url);
- return (NNG_ENOTSUP);
+ return (NULL);
#endif
}
int
-nng_http_req_set_uri(nng_http_req *req, const char *uri)
+nng_http_set_status(nng_http *conn, uint16_t status, const char *reason)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_req_set_uri(req, uri));
+ return (nni_http_set_status(conn, status, reason));
#else
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(uri);
+ NNI_ARG_UNUSED(res);
+ NNI_ARG_UNUSED(status);
+ NNI_ARG_UNUSED(reason);
return (NNG_ENOTSUP);
#endif
}
uint16_t
-nng_http_res_get_status(const nng_http_res *res)
+nng_http_get_status(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_res_get_status(res));
+ return (nni_http_get_status(conn));
#else
NNI_ARG_UNUSED(res);
+ NNI_ARG_UNUSED(status);
return (0);
#endif
}
const char *
-nng_http_res_get_version(const nng_http_res *res)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_get_version(res));
-#else
- NNI_ARG_UNUSED(res);
- return (NULL);
-#endif
-}
-
-const char *
-nng_http_res_get_reason(const nng_http_res *res)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_get_reason(res));
-#else
- NNI_ARG_UNUSED(res);
- return (NULL);
-#endif
-}
-
-void
-nng_http_res_set_status(nng_http_res *res, uint16_t status)
+nng_http_get_reason(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- nni_http_res_set_status(res, status);
+ return (nni_http_get_reason(conn));
#else
NNI_ARG_UNUSED(res);
NNI_ARG_UNUSED(status);
+ return (0);
#endif
}
int
-nng_http_res_set_version(nng_http_res *res, const char *vers)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_res_set_version(res, vers));
-#else
- NNI_ARG_UNUSED(res);
- NNI_ARG_UNUSED(vers);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
-nng_http_res_set_reason(nng_http_res *res, const char *rsn)
+nng_http_set_version(nng_http *conn, const char *version)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_res_set_reason(res, rsn));
+ return (nni_http_set_version(conn, version));
#else
- NNI_ARG_UNUSED(res);
- NNI_ARG_UNUSED(rsn);
return (NNG_ENOTSUP);
#endif
}
-nng_http_req *
-nng_http_conn_req(nng_http_conn *conn)
+void
+nng_http_set_method(nng_http *conn, const char *method)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_conn_req(conn));
+ nni_http_set_method(conn, method);
#else
- return (NULL);
+ NNI_ARG_UNUSED(conn);
+ NNI_ARG_UNUSED(method);
#endif
}
-nng_http_res *
-nng_http_conn_res(nng_http_conn *conn)
+const char *
+nng_http_get_method(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_conn_res(conn));
+ return (nni_http_get_method(conn));
#else
+ NNI_ARG_UNUSED(conn);
return (NULL);
#endif
}
void
-nng_http_conn_close(nng_http_conn *conn)
+nng_http_close(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
// API version of this closes *and* frees the structure.
@@ -426,7 +229,7 @@ nng_http_conn_close(nng_http_conn *conn)
}
void
-nng_http_conn_read(nng_http_conn *conn, nng_aio *aio)
+nng_http_read(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
nni_http_read(conn, aio);
@@ -437,7 +240,7 @@ nng_http_conn_read(nng_http_conn *conn, nng_aio *aio)
}
void
-nng_http_conn_read_all(nng_http_conn *conn, nng_aio *aio)
+nng_http_read_all(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
nni_http_read_full(conn, aio);
@@ -448,7 +251,7 @@ nng_http_conn_read_all(nng_http_conn *conn, nng_aio *aio)
}
void
-nng_http_conn_write(nng_http_conn *conn, nng_aio *aio)
+nng_http_write(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
nni_http_write(conn, aio);
@@ -459,7 +262,7 @@ nng_http_conn_write(nng_http_conn *conn, nng_aio *aio)
}
void
-nng_http_conn_write_all(nng_http_conn *conn, nng_aio *aio)
+nng_http_write_all(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
nni_http_write_full(conn, aio);
@@ -470,19 +273,18 @@ nng_http_conn_write_all(nng_http_conn *conn, nng_aio *aio)
}
void
-nng_http_conn_write_req(nng_http_conn *conn, nng_http_req *req, nng_aio *aio)
+nng_http_write_request(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
- nni_http_write_req(conn, req, aio);
+ nni_http_write_req(conn, aio);
#else
NNI_ARG_UNUSED(conn);
- NNI_ARG_UNUSED(req);
nni_aio_finish_error(aio, NNG_ENOTSUP);
#endif
}
void
-nng_http_conn_write_res(nng_http_conn *conn, nng_aio *aio)
+nng_http_write_response(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
nni_http_write_res(conn, aio);
@@ -493,21 +295,10 @@ nng_http_conn_write_res(nng_http_conn *conn, nng_aio *aio)
}
void
-nng_http_conn_read_req(nng_http_conn *conn, nng_aio *aio)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_read_req(conn, aio);
-#else
- NNI_ARG_UNUSED(conn);
- nni_aio_finish_error(aio, NNG_ENOTSUP);
-#endif
-}
-
-void
-nng_http_conn_read_res(nng_http_conn *conn, nng_http_res *res, nng_aio *aio)
+nng_http_read_response(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
- nni_http_read_res(conn, res, aio);
+ nni_http_read_res(conn, aio);
#else
NNI_ARG_UNUSED(conn);
NNI_ARG_UNUSED(res);
@@ -757,20 +548,6 @@ nng_http_server_set_error_page(
}
int
-nng_http_server_set_error_file(
- nng_http_server *srv, uint16_t code, const char *path)
-{
-#ifdef NNG_SUPP_HTTP
- return (nni_http_server_set_error_file(srv, code, path));
-#else
- NNI_ARG_UNUSED(srv);
- NNI_ARG_UNUSED(code);
- NNI_ARG_UNUSED(path);
- return (NNG_ENOTSUP);
-#endif
-}
-
-int
nng_http_server_set_tls(nng_http_server *srv, nng_tls_config *cfg)
{
#if defined(NNG_SUPP_HTTP) && defined(NNG_SUPP_TLS)
@@ -811,10 +588,10 @@ nng_http_server_get_addr(nng_http_server *srv, nng_sockaddr *addr)
}
int
-nng_http_server_res_error(nng_http_server *srv, nng_http_res *res)
+nng_http_server_error(nng_http_server *srv, nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- return (nni_http_server_res_error(srv, res));
+ return (nni_http_server_error(srv, conn));
#else
NNI_ARG_UNUSED(srv);
NNI_ARG_UNUSED(res);
@@ -823,7 +600,7 @@ nng_http_server_res_error(nng_http_server *srv, nng_http_res *res)
}
int
-nng_http_hijack(nng_http_conn *conn)
+nng_http_hijack(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
return (nni_http_hijack(conn));
@@ -891,21 +668,7 @@ nng_http_client_connect(nng_http_client *cli, nng_aio *aio)
}
void
-nng_http_client_transact(
- nng_http_client *cli, nng_http_req *req, nng_http_res *res, nng_aio *aio)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_transact(cli, req, res, aio);
-#else
- NNI_ARG_UNUSED(cli);
- NNI_ARG_UNUSED(req);
- NNI_ARG_UNUSED(res);
- nni_aio_finish_error(aio, NNG_ENOTSUP);
-#endif
-}
-
-void
-nng_http_conn_transact(nng_http_conn *conn, nng_aio *aio)
+nng_http_transact(nng_http *conn, nng_aio *aio)
{
#ifdef NNG_SUPP_HTTP
nni_http_transact_conn(conn, aio);
@@ -916,21 +679,11 @@ nng_http_conn_transact(nng_http_conn *conn, nng_aio *aio)
}
void
-nng_http_req_reset(nng_http_req *req)
+nng_http_reset(nng_http *conn)
{
#ifdef NNG_SUPP_HTTP
- nni_http_req_reset(req);
+ nni_http_conn_reset(conn);
#else
NNI_ARG_UNUSED(req);
#endif
}
-
-void
-nng_http_res_reset(nng_http_res *res)
-{
-#ifdef NNG_SUPP_HTTP
- nni_http_res_reset(res);
-#else
- NNI_ARG_UNUSED(res);
-#endif
-}