ZHTTP_RESPONSE(3)

πŸ’– ZHTTP_RESPONSE πŸ’–

okay bestie, we're doing zhttp_response from the CZMQ Manual today and it's giving draft-class energy, so buckle up πŸŽ€


✨ NAME ✨

zhttp_response β€” class for zhttp server request. that's the whole vibe fr πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

so here's the thing, queen: this is a draft class, and it may change without notice. it's disabled in stable builds by default. if you use this in applications, please ask for it to be pushed to stable state. use --enable-drafts to enable it. πŸ‘‘

//  This is a draft class, and may change without notice. It is disabled in
//  stable builds by default. If you use this in applications, please ask
//  for it to be pushed to stable state. Use --enable-drafts to enable.
#ifdef CZMQ_BUILD_DRAFT_API
//  *** Draft method, for development use, may change without warning ***
//  Create a new zhttp_response.
CZMQ_EXPORT zhttp_response_t *
    zhttp_response_new (void);

//  *** Draft method, for development use, may change without warning ***
//  Destroy the zhttp_response.
CZMQ_EXPORT void
    zhttp_response_destroy (zhttp_response_t **self_p);

//  *** Draft method, for development use, may change without warning ***
//  Send a response to a request.
//  Returns 0 if successful and -1 otherwise.
CZMQ_EXPORT int
    zhttp_response_send (zhttp_response_t *self, zsock_t *sock, void **connection);

//  *** Draft method, for development use, may change without warning ***
//  Receive a response from zhttp_client.
//  On success return 0, -1 otherwise.
//
//  Recv returns the two user arguments which was provided with the request.
//  The reason for two, is to be able to pass around the server connection when forwarding requests or both a callback function and an argument.
CZMQ_EXPORT int
    zhttp_response_recv (zhttp_response_t *self, zhttp_client_t *client, void **arg, void **arg2);

//  *** Draft method, for development use, may change without warning ***
//  Get the response content type
CZMQ_EXPORT const char *
    zhttp_response_content_type (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Set the content type of the response.
CZMQ_EXPORT void
    zhttp_response_set_content_type (zhttp_response_t *self, const char *value);

//  *** Draft method, for development use, may change without warning ***
//  Get the status code of the response.
CZMQ_EXPORT uint32_t
    zhttp_response_status_code (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Set the status code of the response.
CZMQ_EXPORT void
    zhttp_response_set_status_code (zhttp_response_t *self, uint32_t status_code);

//  *** Draft method, for development use, may change without warning ***
//  Get the headers of the response.
CZMQ_EXPORT zhash_t *
    zhttp_response_headers (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Get the content length of the response
CZMQ_EXPORT size_t
    zhttp_response_content_length (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Get the content of the response.
CZMQ_EXPORT const char *
    zhttp_response_content (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Get the content of the response.
//  Caller owns return value and must destroy it when done.
CZMQ_EXPORT char *
    zhttp_response_get_content (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Set the content of the response.
//  Content must by dynamically allocated string.
//  Takes ownership of the content.
CZMQ_EXPORT void
    zhttp_response_set_content (zhttp_response_t *self, char **content);

//  *** Draft method, for development use, may change without warning ***
//  Set the content of the response.
//  The content is assumed to be constant-memory and will therefore not be copied or deallocated in any way.
CZMQ_EXPORT void
    zhttp_response_set_content_const (zhttp_response_t *self, const char *content);

//  *** Draft method, for development use, may change without warning ***
//  Set the content to NULL
CZMQ_EXPORT void
    zhttp_response_reset_content (zhttp_response_t *self);

//  *** Draft method, for development use, may change without warning ***
//  Self test of this class.
CZMQ_EXPORT void
    zhttp_response_test (bool verbose);

#endif // CZMQ_BUILD_DRAFT_API

and then the original literally says:

Please add '@interface' section in './../src/zhttp_response.c'.

so like, the docs are asking for a glow-up in the source file. not me side-eyeing the TODO πŸ™ˆ


🌸 DESCRIPTION 🌸

zhttp_response β€” zhttp server request. the class can be reused. ✨

Please add @discuss section in ./../src/zhttp_response.c.

🧚 EXAMPLE 🧚

from zhttp_response_test method:

Please add '@selftest' section in './../src/zhttp_response.c'.

πŸ‘‘ AUTHORS πŸ‘‘

the czmq manual was written by the authors in the AUTHORS file. iconic of them, honestly πŸ’œ


🌈 RESOURCES 🌈

  • Main web site:
  • Report bugs to the email <zeromq-dev@lists.zeromq.org[1]>

Copyright (c) the Contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org. This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.


πŸ’… NOTES πŸ’…

  1. zeromq-dev@lists.zeromq.org mailto:zeromq-dev@lists.zeromq.org

and that's the whole page, bestie 🫢 it's CZMQ 4.2.1, dated 01/16/2026, page ZHTTP_RESPONSE(3). no cap, you ate that. periodt πŸ’–βœ¨

πŸ“¦ where this page comes from