NE_STRPARAM(3) neon API reference NE_STRPARAM(3)

ne_strparam - HTTP extended parameter value encoding

#include <ne_string.h>

char *ne_strparam(const char *charset, const char *lang, const char *value);

The ne_strparam function can be used to encode an extended parameter value for an HTTP header, as defined in RFC 5987. The function takes as arguments the value to encode, using a given MIME charset character set, and lang language tag. The extended parameter encoding is used in HTTP protocol specifications to allow easily embedding special characters (such as quote marks, separators or non-ASCII) in header values.

In accordance with RFC 5987, the charset argument must be either "UTF-8" or "IS0-8859-1", but the lang argument may be NULL.

The return value is either:


if the value parameter is a "regular parameter" and does not need extended encoding


the encoding of the input value as an extended parameter as a NUL-terminated, malloc-allocated string

Joe Orton


29 January 2024 neon 0.33.0