MimeHeader

From Fernseher
Revision as of 17:09, 21 January 2009 by 129.42.161.36 (talk) (New page: A MimeHeader object represents a single header in a MIME or HTTP message in a easier to use format for Modjs scripts. Each header can have an array of MimeValue objects. The true for...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

A MimeHeader object represents a single header in a MIME or HTTP message in a easier to use format for Modjs scripts. Each header can have an array of MimeValue objects. The true format of these are described in MIME.

To paraphrase, a true MIME header is a name:value[,value...] pair of form:

header          := header-name  ':'  header-value  CRLF
header-value    := values
values          := (value-exp  ',')*  value-exp

Each value is of form:

value-exp       := real-value  (';'  property-exp)*
real-value      := value-key ['=' value-value]
property-exp    := property-key  ['='  property-value]

A new MimeHeader can be created using:

header = new MimeHeader(name, array of MimeValue objects)
header = new MimeHeader(name, raw value string)

If the header cannot be created (if the objects passed in aren't duckable to MimeValue, or the string isn't valid header value formatted), an exception can be thrown:

MimeHeaderException

A new MimeValue can be created using:

value = new MimeValue(value, array of parameter name/value pairs)
value = new MimeValue(raw value string)

These could throw:

MimeValueException

Once a header is created, it has these properties:

  • name: The header name
  • values: array of MimeValue objects

The header has several methods:

string = header.getName()
array of value strings = header.getValueList()
header.addValue(MimeValue)
MimeValue = header.removeValue(index)
MimeValue = header.getValue(index)
string = header.toString()

The value has these properties:

  • value: The "true" value
  • properties: array of parameter name/value pairs

And these methods:

string = value.getValue()
array of parameters = value.getPropertyList()
value.addParameter(name, value)
{name, value} = value.removeParameter(index)
{name, value} = value.getParameter(index)
string = value.toString()
string = value.getParameter(parameter name)