ne_strparam
Prev | neon API reference | Next

## Name

ne_strparam — HTTP extended parameter value encoding

## Synopsis

    #include <ne_string.h>

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

## Description

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`.

## Return value

The return value is either:

`NULL` | if the value parameter is a "regular parameter" and does not need extended encoding
non-`NULL` | the encoding of the input value as an extended parameter as a NUL-terminated, malloc-allocated string

## History

`ne_strparam` is available in neon 0.32.0 and later.

## See also

https://www.rfc-editor.org/rfc/rfc5987.html

Prev | Up | Next
ne_strhash | Home | ne_get_error