NAME

Courriel::HeaderAttribute - A single attribute belonging to a header

VERSION

version 0.49

SYNOPSIS

my $ct = $headers->get('Content-Type');
print $ct->get_attribute('charset')->value;

DESCRIPTION

This class represents a single attribute belonging to a header. An attribute consists of a name and value, with optional charset and language information.

API

This class supports the following methods:

Courriel::HeaderAttribute->new( ... )

This method creates a new object. It accepts the following parameters:

  • name

    The name of the attribute. This should be a non-empty string.

  • value

    The value of the attribute. This can be empty.

  • charset

    The charset for the value. If the value contains any non-ASCII data, this will always be "UTF-8", otherwise the default is "us-ascii".

  • language

    The language for the attribute's value. It should be a valid ISO language code like "en-us" or "zh". This is optional.

$attribute->name()

The attribute name as passed to the constructor.

$attribute->value()

The attribute value as passed to the constructor.

$attribute->charset()

The attribute's charset.

$attribute->language()

The attribute's language.

$attribute->as_string()

This returns the attribute in a form suitable for putting in an email. This may involve escaping, quoting, splitting up, and otherwise messing with the value.

If the value needs to be split across continuations, each name/value pair is returned separate by a space, but not folded across multiple lines.

$attribute->stream_to( output => $output )

This method will send the stringified attribute to the specified output. The output can be a subroutine reference, a filehandle, or an object with a print() method. The output may be sent as a single string, as a list of strings, or via multiple calls to the output.

ROLES

This class does the Courriel::Role::Streams role.

SUPPORT

Bugs may be submitted at https://github.com/houseabsolute/Courriel/issues.

I am also usually active on IRC as 'autarch' on irc://irc.perl.org.

SOURCE

The source code repository for Courriel can be found at https://github.com/houseabsolute/Courriel.

AUTHOR

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2021 by Dave Rolsky.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.