nsINetUtil

nsINetUtil provides various network-related utility methods.

Methods

parseContentType(aTypeHeader, aCharset, aHadCharset)

Parse a content-type header and return the content type and
charset (if any).

Parameters

aTypeHeader the header string to parse
[out] aCharset the charset parameter specified in the header, if any.
[out] aHadCharset whether a charset was explicitly specified.

Returns

the MIME type specified in the header, in lower-case.

protocolHasFlags(aURI, aFlag)

Test whether the given URI’s handler has the given protocol flags.

Parameters

aURI the URI in question
aFlags the flags we're testing for.

Returns

whether the protocol handler for aURI has all the flags in aFlags.

URIChainHasFlags(aURI, aFlags)

Test whether the protocol handler for this URI or that for any of
its inner URIs has the given protocol flags. This will QI aURI to
nsINestedURI and walk the nested URI chain.

Parameters

aURI the URI in question
aFlags the flags we're testing for.

Returns

whether any of the protocol handlers involved have all the flags in aFlags.

toImmutableURI(aURI)

Take aURI and produce an immutable version of it for the caller. If aURI
is immutable this will be aURI itself; otherwise this will be a clone,
marked immutable if possible. Passing null to this method is allowed; in
that case it will return null.

newSimpleNestedURI(aURI)

Create a simple nested URI using the result of
toImmutableURI on the passed-in aURI which may not be null.
Note: The return URI will not have had its spec set yet.

escapeString(aString, aEscapeType)

escape a string with %00-style escaping

escapeURL(aStr, aFlags)

%XX-Escape invalid chars in a URL segment.

Parameters

aStr the URL to be escaped
aFlags the URL segment type flags

Returns

the escaped string (the string itself if escaping did not happen)

unescapeString(aStr, aFlags)

Expands URL escape sequences

Parameters

aStr the URL to be unescaped
aFlags only ESCAPE_URL_ONLY_NONASCII and ESCAPE_URL_SKIP_CONTROL are recognized. If |aFlags| is 0 all escape sequences are unescaped

Returns

unescaped string

extractCharsetFromContentType(aTypeHeader, aCharset, aCharsetStart, aCharsetEnd)

Extract the charset parameter location and value from a content-type
header.

Parameters

aTypeHeader the header string to parse
[out] aCharset the charset parameter specified in the header, if any.
[out] aCharsetStart index of the start of the charset parameter (the ';' separating it from what came before) in aTypeHeader. If this function returns false, this argument will still be set, to the index of the location where a new charset should be inserted.
[out] aCharsetEnd index of the end of the charset parameter (the ';' separating it from what comes after, or the end of the string) in aTypeHeader. If this function returns false, this argument will still be set, to the index of the location where a new charset should be inserted.

Returns

whether a charset parameter was found. This can be false even in cases when parseContentType would claim to have a charset, if the type that won out does not have a charset parameter specified.

Constants

ESCAPE_ALL

Escape every character with its %XX-escaped equivalent */

ESCAPE_XALPHAS

Leave alphanumeric characters intact and %XX-escape all others */

ESCAPE_XPALPHAS

Leave alphanumeric characters intact, convert spaces to ‘+’,
%XX-escape all others */

ESCAPE_URL_PATH

Leave alphanumeric characters and forward slashes intact,
%XX-escape all others */

ESCAPE_URL_SCHEME

%XX-escape URL scheme */

ESCAPE_URL_USERNAME

%XX-escape username in the URL */

ESCAPE_URL_PASSWORD

%XX-escape password in the URL */

ESCAPE_URL_HOST

%XX-escape URL host */

ESCAPE_URL_DIRECTORY

%XX-escape URL directory */

ESCAPE_URL_FILE_BASENAME

%XX-escape file basename in the URL */

ESCAPE_URL_FILE_EXTENSION

%XX-escape file extension in the URL */

ESCAPE_URL_PARAM

%XX-escape URL parameters */

ESCAPE_URL_QUERY

%XX-escape URL query */

ESCAPE_URL_REF

%XX-escape URL ref */

ESCAPE_URL_FILEPATH

%XX-escape URL path - same as escaping directory, basename and extension */

ESCAPE_URL_MINIMAL

%XX-escape scheme, username, password, host, path, params, query and ref */

ESCAPE_URL_FORCED

Force %XX-escaping of already escaped sequences */

ESCAPE_URL_ONLY_ASCII

Skip non-ascii octets, %XX-escape all others */

ESCAPE_URL_ONLY_NONASCII

Skip graphic octets (0x20-0x7E) when escaping
Skips all ASCII octets (0x00-0x7F) when unescaping

ESCAPE_URL_COLON

Force %XX-escape of colon */

ESCAPE_URL_SKIP_CONTROL

Skip C0 and DEL from unescaping */