Man pages sections > man3 > Courriel::Header::ContentType

Courriel::Header::ContentType - The content type for an email part

Courriel::Header::ContentType(3pm) User Contributed Perl Documentation Courriel::Header::ContentType(3pm)

NAME

Courriel::Header::ContentType - The content type for an email part

VERSION

version 0.44

SYNOPSIS

    my $ct = $part->content_type();
    print $ct->mime_type();
    print $ct->charset();
    my %attr = $ct->attributes();
    while ( my ( $k, $v ) = each %attr ) {
        print "$k => $v\n";
    }

DESCRIPTION

This class represents the contents of a "Content-Type" header attached to an email part. Such headers always include a mime type, and may also include additional information such as a charset or other attributes.
Here are some typical headers:
  Content-Type: text/plain; charset=utf-8
  Content-Type: multipart/alternative; boundary=abcdefghijk
  Content-Type: image/jpeg; name="Filename.jpg"

API

This class supports the following methods:

Courriel::Header::ContentType->new_from_value( ... )

This takes two parameters, "name" and "value". The "name" is optional, and defaults to "Content-Type".
The "value" is parsed and split up into the mime type and attributes.

Courriel::Header::ContentType->new( ... )

This method creates a new object. It accepts the following parameters:
name
 
This defaults to 'Content-Type'.
value
 
This is the full header value.
mime_type
 
A string like "text/plain" or "multipart/alternative". This is required.
attributes
 
A hash reference of attributes from the header, such as a boundary, charset, etc. The keys are attribute names and the values can either be strings or Courriel::HeaderAttribute objects. Values which are strings will be inflated into objects by the constructor.
 
This is optional, and can be an empty hash reference or omitted entirely.

$ct->name()

The header name, usually "Content-Type".

$ct->value()

The raw header value.

$ct->mime_type()

Returns the mime type value passed to the constructor. However, this value will be in all lower-case, regardless of the original casing passed to the constructor.

$ct->charset()

Returns the charset for the content type, which will be the value found in the "attributes", if one exists.

$ct->attributes()

Returns a hash (not a reference) of the attributes passed to the constructor.
Attributes are Courriel::HeaderAttribute objects.
The keys of the hash are all lower case, though the original casing is preserved in the "name()" returned by the Courriel::HeaderAttribute object.

$ct->is_binary()

Returns true unless the attachment looks like text data. Currently, this means that is has a charset defined and the charset is not "binary".

$ct->attribute($key)

Given a key, returns the named Courriel::HeaderAttribute object. Obviously, this value can be "undef" if the attribute doesn't exist. Name lookup is case-insensitive.

$ct->attribute_value($key)

Given a key, returns the named attribute's value as a string. Obviously, this value can be "undef" if the attribute doesn't exist. Name lookup is case-insensitive.
The attribute is a Courriel::HeaderAttribute object.

$ct->as_header_value()

Returns the object as a string suitable for a header value (but not folded). Note that this uses the original casing of the mime type as passed to the constructor.

EXTENDS

This class extends Courriel::Header.

ROLES

This class does the "Courriel::Role::HeaderWithAttributes" role.

SUPPORT

Bugs may be submitted through the RT bug tracker <http://rt.cpan.org/Public/Dist/Display.html?Name=Courriel> (or bug-courriel@rt.cpan.org <mailto:bug-courriel@rt.cpan.org>).
I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".

AUTHOR

Dave Rolsky <autarch@urth.org> This software is Copyright (c) 2016 by Dave Rolsky.
This is free software, licensed under:
  The Artistic License 2.0 (GPL Compatible)
2016-12-28 perl v5.24.1