Qore Mime Module Reference
1.4.4
|
public Mime namespace defines constants and functions relevant to MIME More...
Classes | |
hashdecl | FormDataMessageInfo |
parsed form-data message part info More... | |
hashdecl | MessageInfo |
message and part info hash More... | |
hashdecl | MessagePartInfo |
message part hash More... | |
class | MultiPartAlternativeMessage |
implements the MultiPartAlternativeMessage class, a specialization of MultiPartMessage More... | |
class | MultiPartFormDataMessage |
implements the MultiPartFormDataMessage class, a specialization of MultiPartMessage More... | |
class | MultiPartMessage |
MultiPartMessage class implementation. More... | |
class | MultiPartMixedMessage |
implements the MultiPartMixedMessage class, a specialization of MultiPartMessage More... | |
class | MultiPartRelatedMessage |
implements the MultiPartRelatedMessage class, a specialization of MultiPartMessage More... | |
Functions | |
string | get_mime_type_from_ext (string path, string def_type=MimeTypeUnknown) |
returns the mime type for the given filename from the extension or the default type if the extension is not present or unknown | |
binary | mime_decode_base64 (data str) |
returns a binary value from a string in "BASE64" encoding More... | |
string | mime_decode_base64_to_string (data str, *string encoding) |
returns a string value from a string in "BASE64" encoding More... | |
string | mime_decode_header (string hdr) |
decodes a header string More... | |
string | mime_decode_quoted_printable (string str, *string encoding, *bool is_body) |
returns a string parsed from "quoted-printable" (or "QP") encoding More... | |
data | mime_decode_transfer_data (data mime_data, string enc, *string ct, *bool is_body) |
decodes data according to the given encoding More... | |
string | mime_decode_urlencoded_string (string str) |
decodes the given string from URL encoded format More... | |
string | mime_encode_base64 (data str, int len=MimeBase64LineLen) |
returns a string in "BASE64" encoding according to RFC 2045 More... | |
string | mime_encode_header_word_b (string str) |
returns a string in "B" ("BASE64") encoding for MIME header string words More... | |
string | mime_encode_header_word_q (string str) |
returns a string in "Q" ("quoted-printable") encoding for MIME header string words More... | |
string | mime_encode_quoted_printable (string str, bool hdr=False, *string encoding) |
returns a string in "quoted-printable" (or "QP") encoding More... | |
data | mime_encode_transfer_data (data mime_data, string enc) |
encodes data according to the given encoding More... | |
string | mime_get_form_urlencoded_string (hash h) |
returns a string in MIME multipart form URL encoded format (for use with "Content-Type: application/x-www-form-urlencoded" data) More... | |
string | mime_get_urlencoded_string (auto val) |
returns a single string in MIME URL encoded format More... | |
hash< auto > | mime_parse_form_urlencoded_string (string str) |
returns a hash corresponding to the string in MIME multipart form URL encoded format (for use with "Content-Type: application/x-www-form-urlencoded" data) More... | |
Variables | |
const | ContentTransEnc7Bit = "7bit" |
default Content-Transfer-Encoding if none is present; implies lines < 1000 chars (= no encoding) | |
const | ContentTransEnc8Bit = "8bit" |
implies lines < 1000 chars (= no encoding) | |
const | ContentTransEncBase64 = "base64" |
base-64 Content-Transfer-Encoding | |
const | ContentTransEncBinary = "binary" |
binary transfer encoding; implies no maximum line length (= no encoding) | |
const | ContentTransEncQuotedPrintable = "quoted-printable" |
quoted-printable Content-Transfer-Encoding | |
const | MimeBase64LineLen = 76 |
maximum line length for base64 encoding More... | |
const | MimeQuotedPrintableLineLen = 76 |
maximum line length for quoted-printable encoding More... | |
const | MimeTypeCss = "text/css" |
Mime type for css. | |
const | MimeTypeCsv = "text/csv" |
MIME type for csv files (http://tools.ietf.org/html/rfc4180) | |
const | MimeTypeFormUrlEncoded = "application/x-www-form-urlencoded" |
Mime type for multipart form URL encoding. | |
const | MimeTypeHtml = "text/html" |
MIME type for HTML. | |
const | MimeTypeJavascript = "application/javascript" |
Mime type for Javascript. | |
const | MimeTypeJpeg = "image/jpeg" |
MIME type for jpeg images. | |
const | MimeTypeJson = "application/json" |
Mime type for JSON. | |
const | MimeTypeJsonRpc = MimeTypeJson |
Mime type for JSON-RPC. | |
const | MimeTypeMultipartFormData = "multipart/form-data" |
Mime type for multipart form data. | |
const | MimeTypeMultipartMixed = "multipart/mixed" |
Mime type for multipart mixed. | |
const | MimeTypeMultipartRelated = "multipart/related" |
Mime type for multipart related. | |
const | MimeTypeOctetStream = "application/octet-stream" |
MIME type for unknown file types. | |
const | MimeTypePng = "image/png" |
MIME type for png images. | |
const | MimeTypes = ... |
A map of default mime types per file extension; the hash keys are file extensions in lower-case without the dot (ex: "txt" ) | |
const | MimeTypeSoapXml = "application/soap+xml" |
Mime type for SOAP XML messages (XML MIME type reference: http://tools.ietf.org/html/rfc3023) | |
const | MimeTypeText = "text/plain" |
MIME type for text. | |
const | MimeTypeUnknown = MimeTypeOctetStream |
MIME type for unknown file types. | |
const | MimeTypeXml = "text/xml" |
Mime type for plain (human-readable) xml files. | |
const | MimeTypeXmlApp = "application/xml" |
Mime type for more complicated (not human-readable) xml files. | |
const | MimeTypeXmlRpc = MimeTypeXml |
Mime type for XML-RPC. | |
const | MimeTypeYaml = "text/x-yaml" |
Mime type for yaml data files. | |
const | MimeTypeYamlRpc = "application/x-yaml" |
Mime type for YAML-RPC. | |
const | MPT_ALTERNATIVE = "alternative" |
for sending multiple "alternatives" of the same content (http://tools.ietf.org/html/rfc2046#section-5.1.4) | |
const | MPT_BYTERANGES = "byteranges" |
for sending noncontiguous byte ranges of a single message (http://tools.ietf.org/html/rfc2616) | |
const | MPT_DIGEST = "digest" |
for sending multiple text messages (http://tools.ietf.org/html/rfc2046#section-5.1.5) | |
const | MPT_ENCRYPTED = "encrypted" |
for sending encrypted messages (http://tools.ietf.org/html/rfc1847#section-2.2) | |
const | MPT_FORM_DATA = "form-data" |
for form data (http://tools.ietf.org/html/rfc1867, http://tools.ietf.org/html/rfc2388) | |
const | MPT_MESSAGE = "message" |
for email/MIME messages with headers (http://tools.ietf.org/html/rfc2046) | |
const | MPT_MIXED = "mixed" |
for sending files with different "Content-Type" headers (http://tools.ietf.org/html/rfc2046#section-5.1.3) | |
const | MPT_RELATED = "related" |
for sending multiple components of an aggregated whole (http://tools.ietf.org/html/rfc2387) | |
const | MPT_SIGNED = "signed" |
to attach a digital signature to a message (http://tools.ietf.org/html/rfc1847#section-2.1) | |
const | UrlEncodedChars = ... |
hash of non-alphanumeric characters that can be used unencoded in URL encoded format More... | |
public Mime namespace defines constants and functions relevant to MIME
binary Mime::mime_decode_base64 | ( | data | str | ) |
returns a binary value from a string in "BASE64" encoding
According to RFC 2045
str | the string to decode |
returns a string value from a string in "BASE64" encoding
According to RFC 2045
str | the string to decode |
encoding | the character encoding to use for the string returned (if not present the default encoding is used) |
decodes a header string
If any part of the string is encoded with "B" ("BASE64") or "Q" ("quoted-printable") encodings according to RFC 2045 section 6.7, then those parts are decoded and the decoded string is returned
hdr | the header value string to decode |
returns a string parsed from "quoted-printable" (or "QP") encoding
According to RFC 2045 section 6.7
str | the string to decode |
encoding | the character encoding to use for the string returned (if not present the default encoding is used) |
QUOTED-PRINTABLE-DECODE-ERROR | an error occurred decoding the quoted-printable string |
decodes data according to the given encoding
mime_data | the data to decode |
enc | the decoding to use; see MIME Content Transfer Encoding Constants for possible values (case is ignored) |
ct | the content-type of the data; if there is a "charset=xxx" component and the data is decoded to a string, then it will be returned in the given character encoding |
MIME-TRANSFER-ENCODING-ERROR | unknown transfer encoding |
decodes the given string from URL encoded format
str | the URL encoded string to decode |
string Mime::mime_encode_base64 | ( | data | str, |
int | len = MimeBase64LineLen |
||
) |
returns a string in "BASE64" encoding according to RFC 2045
str | the string to encode |
len | the maximum line length |
returns a string in "B" ("BASE64") encoding for MIME header string words
According to RFC 2047
returns a string in "Q" ("quoted-printable") encoding for MIME header string words
According to RFC 2047
returns a string in "quoted-printable" (or "QP") encoding
According to RFC 2045 section 6.7
str | the string to encode |
hdr | use rules for a MIME header (RFC 2047) |
data Mime::mime_encode_transfer_data | ( | data | mime_data, |
string | enc | ||
) |
encodes data according to the given encoding
mime_data | the data to encode |
enc | the encoding to use; see MIME Content Transfer Encoding Constants for possible values (case is ignored) |
MIME-TRANSFER-ENCODING-ERROR | unknown transfer encoding |
returns a string in MIME multipart form URL encoded format (for use with "Content-Type: application/x-www-form-urlencoded"
data)
Parameters will be separated by "&"
characters. All key values must be strings or convertible to strings or a URLENCODED-TYPE-ERROR exception is thrown
h | the hash to use to generate the string |
application/x-www-form-urlencoded
formatURLENCODED-TYPE-ERROR | hash value cannot be converted to a string |
INVALID-CHARACTER | an invalid character has been found |
string Mime::mime_get_urlencoded_string | ( | auto | val | ) |
returns a single string in MIME URL encoded format
reserved characters are replaced with percent encoding, characters outside the ASCII character set cause an exception to be thrown
val | the input value |
INVALID-VALUE | the value given cannot be converted to a string |
INVALID-CHARACTER | an invalid character has been found |
'+'
signs but rather encoded as %20
because '+'
signs are often encoded and decoded improperly in URLs, and %20
is unambiguousreturns a hash corresponding to the string in MIME multipart form URL encoded format (for use with "Content-Type: application/x-www-form-urlencoded"
data)
str | the string to parse |
URLENCODED-PARSE-ERROR | cannot parse the given string |
const Mime::MimeBase64LineLen = 76 |
maximum line length for base64 encoding
const Mime::MimeQuotedPrintableLineLen = 76 |
maximum line length for quoted-printable encoding
const Mime::UrlEncodedChars = ... |
hash of non-alphanumeric characters that can be used unencoded in URL encoded format