Mercurial > sci
view scid/pageutil.h @ 85:cf49ab595e2e default tip @
sciworkerd: avoid spawning several tasks
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 09 Mar 2023 10:43:48 +0100 |
parents | 71cd8447e3a4 |
children |
line wrap: on
line source
/* * pageutil.h -- page utilities * * Copyright (c) 2021-2023 David Demelier <markand@malikania.fr> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef SCI_PAGE_H #define SCI_PAGE_H /** * \file pageutil.h * \brief Page utilities. * * This module provides convenient helpers to generate pages, it will call the * current theme so make sure to initialize before using this module. * * This module does not log messages. */ #include <sys/types.h> #include <stdarg.h> #include <stdint.h> #include <kcgi.h> #include <jansson.h> /** * Render a page using the given content. * * \pre r != NULL * \param r the request * \param status the HTTP status code * \param mime the MIME type * \param body the body content (maybe NULL) */ void pageutil_render(struct kreq *r, enum khttp status, enum kmime mime, const char *body); /** * Render a status code page (e.g. 400). * * \pre r != NULL * \param r the request * \param status the HTTP status code */ void pageutil_status(struct kreq *r, enum khttp status); /** * Render a page with a JSON as MIME type. * * \pre r != NULL * \param r != NULL * \param status the HTTP status code * \param doc the JSON document (may be NULL) * \warning The document will be destroyed using json_decref. */ void pageutil_json(struct kreq *r, enum khttp status, json_t *doc); #endif /* !SCI_PAGE_H */