Poco::Net

class MediaType

Library: Net
Package: Messages
Header: Poco/Net/MediaType.h

Description

This class represents a MIME media type, consisting of a top-level type, a subtype and an optional set of parameters.

The implementation conforms with RFC 2045 and RFC 2046.

Member Summary

Member Functions: getParameter, getSubType, getType, hasParameter, matches, matchesRange, operator =, parameters, parse, removeParameter, setParameter, setSubType, setType, swap, toString

Constructors

MediaType

MediaType(
    const std::string & mediaType
);

Creates the MediaType from the given string, which must have the format <type>/<subtype>{;<parameter>=<value>}.

MediaType

MediaType(
    const MediaType & mediaType
);

Creates a MediaType from another one.

MediaType

MediaType(
    const std::string & type,
    const std::string & subType
);

Creates the MediaType, using the given type and subtype.

Destructor

~MediaType

~MediaType();

Destroys the MediaType.

Member Functions

getParameter

const std::string & getParameter(
    const std::string & name
) const;

Returns the parameter with the given name.

Throws a NotFoundException if the parameter does not exist.

getSubType inline

const std::string & getSubType() const;

Returns the sub type.

getType inline

const std::string & getType() const;

Returns the top-level type.

hasParameter

bool hasParameter(
    const std::string & name
) const;

Returns true if and only if a parameter with the given name exists.

matches

bool matches(
    const MediaType & mediaType
) const;

Returns true if and only if the type and subtype match the type and subtype of the given media type. Matching is case insensitive.

matches

bool matches(
    const std::string & type,
    const std::string & subType
) const;

Returns true if and only if the type and subtype match the given type and subtype. Matching is case insensitive.

matches

bool matches(
    const std::string & type
) const;

Returns true if and only if the type matches the given type. Matching is case insensitive.

matchesRange

bool matchesRange(
    const MediaType & mediaType
) const;

Returns true if the type and subtype match the type and subtype of the given media type. If the MIME type is a range of types it matches any media type within the range (e.g. "image/*" matches any image media type, "*/*" matches anything). Matching is case insensitive.

matchesRange

bool matchesRange(
    const std::string & type,
    const std::string & subType
) const;

Returns true if the type and subtype match the given type and subtype. If the MIME type is a range of types it matches any media type within the range (e.g. "image/*" matches any image media type, "*/*" matches anything). Matching is case insensitive.

matchesRange

bool matchesRange(
    const std::string & type
) const;

Returns true if the type matches the given type or the type is a range of types denoted by "*". Matching is case insensitive.

operator =

MediaType & operator = (
    const MediaType & mediaType
);

Assigns another media type.

operator =

MediaType & operator = (
    const std::string & mediaType
);

Assigns another media type.

parameters inline

const NameValueCollection & parameters() const;

Returns the parameters.

removeParameter

void removeParameter(
    const std::string & name
);

Removes the parameter with the given name.

setParameter

void setParameter(
    const std::string & name,
    const std::string & value
);

Sets the parameter with the given name.

setSubType

void setSubType(
    const std::string & subType
);

Sets the sub type.

setType

void setType(
    const std::string & type
);

Sets the top-level type.

swap

void swap(
    MediaType & mediaType
);

Swaps the MediaType with another one.

toString

std::string toString() const;

Returns the string representation of the media type which is <type>/<subtype>{;<parameter>=<value>}

parse protected

void parse(
    const std::string & mediaType
);