khtml_putc
—
put character content for kcgihtml
Writes a character c to a context
req initialiswed with
khtml_open(3).
The character is HTML escaped, for example, the left-angle bracket
“<” is rendered as “<”.
Returns an enum kcgi_err indicating the error state.
KCGI_OK
- Success (not an error).
KCGI_ENOMEM
- Internal memory allocation failure.
KCGI_HUP
- The output connection has been terminated. For FastCGI connections, the
current connection should be released with
khttp_free(3)
and parse loop reentered.
KCGI_FORM
- The connection is still expecting headers with
khttp_head(3).
Indicates that
khttp_body(3)
did not return with success or was not invoked. For FastCGI connections,
the current connection should be released with
khttp_free(3)
and parse loop reentered.
KCGI_SYSTEM
- Internal system error writing to the output stream.
The following outputs a simple HTML page. It assumes r is
a struct kreq pointer. For brevity, it does not do any
error checking.
khttp_head(r, kresps[KRESP_STATUS],
"%s", khttps[KHTTP_200]);
khttp_head(r, kresps[KRESP_CONTENT_TYPE],
"%s", kmimetypes[KMIME_TEXT_HTML]);
khttp_body(r);
khtml_open(&req, r, 0);
khtml_elem(&req, KELEM_DOCTYPE);
khtml_elem(&req, KELEM_HTML);
khtml_elem(&req, KELEM_BODY);
khtml_elem(&req, KELEM_P);
khtml_putc(&req, 'H');
khtml_putc(&req, 'i');
khtml_putc(&req, '!');
khtml_close(&req);
The referenced HTML5 standard is
HTML5.2.