Module ical::line::reader [] [src]

Read and unfold a line from a BufRead.

Individual lines within vCard are delimited by the [RFC5322] line break, which is a CRLF sequence (U+000D followed by U+000A). Long logical lines of text can be split into a multiple-physical-line representation using the following folding technique. Content lines SHOULD be folded to a maximum width of 75 octets, excluding the line break. Multi-octet characters MUST remain contiguous. The rationale for this folding process can be found in [RFC5322], Section 2.1.1.

A logical line MAY be continued on the next physical line anywhere between two characters by inserting a CRLF immediately followed by a single white space character (space (U+0020) or horizontal tab (U+0009)). The folded line MUST contain at least one character. Any sequence of CRLF followed immediately by a single white space character is ignored (removed) when processing the content type.

Examples

  NOTE:This is a long description that exists on a long line.

can be represented as:

  NOTE:This is a long description
    that exists on a long line.

It could also be represented as:

  NOTE:This is a long descrip
   tion that exists o
   n a long line.

Structs

Line

An unfolded raw line.

LineReader

Take a BufRead and return the merged Line.

Traits

LineRead

A trait generic for implementing line reading.