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

## 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