NAME

Mail::AuthenticationResults::Header::Base - Base class for modelling parts of the Authentication Results Header

VERSION

version 2.20231031

DESCRIPTION

Set of classes representing the various parts and sub parts of Authentication Results Headers.

Header
    AuthServID
        Version
        Comment
        SubEntry
    Entry
        Comment
    Entry
        Comment
        SubEntry
            Comment
    Entry
        SubEntry
        SubEntry

Group
    Entry
        Comment
    SubEntry
        Comment
    Entry
        SubEntry

METHODS

new()

Return a new instance of this class

set_key( $key )

Set the key for this instance.

Croaks if $key is invalid.

key()

Return the current key for this instance.

Croaks if this instance type can not have a key.

safe_set_value( $value )

Set the value for this instance.

Munges the value to remove invalid characters before setting.

This method also removes some value characters when their inclusion would be likely to break simple parsers.

set_value( $value )

Set the value for this instance.

Croaks if the value contains invalid characters.

value()

Returns the current value for this instance.

stringify( $value )

Returns $value with stringify rules applied.

children()

Returns a listref of this instances children.

Croaks if this instance type can not have children.

orphan()

Removes the parent for this instance.

Croaks if this instance does not have a parent.

copy_children_from( $object )

Copy (clone) all of the children from the given object into this object.

add_parent( $parent )

Sets the parent for this instance to the supplied object.

Croaks if the relationship between $parent and $self is not valid.

parent()

Returns the parent object for this instance.

remove_child( $child )

Removes $child as a child of this instance.

Croaks if the relationship between $child and $self is not valid.

add_child( $child )

Adds $child as a child of this instance.

Croaks if the relationship between $child and $self is not valid.

ancestor()

Returns the top Header object and depth of this child

strict_quotes()

Return the current value of strict quotes flag for this header or for its ancestor if not set locally

If true, we are stricter about which characters result in a quoted string

set_strict_quotes( $value )

Set the value of strict quotes

If true, we are stricter about which characters result in a quoted string

Default false

as_string_prefix( $header )

Add the prefix to as_string for this object when calledas a child of another objects as_string method call.

as_json()

Return this instance as a JSON serialised string

as_string()

Returns this instance as a string.

build_string( $header )

Build a string using the supplied Mail::AuthenticationResults::FoldableHeader object.

search( $search )

Apply search rules in $search to this instance and return a Mail::AuthenticationResults::Header::Group object containing the matches.

$search is a HASHREF with the following possible key/value pairs

key

Match if the instance key matches the supplied value (string or regex)

value

Match if the instance value matches the supplied value (string or regex)

isa

Match is the instance class typs matches the supplied value. This is a lowercase version of the class type, (comment,entry,subentry,etc))

has

An arrayref of searches, match this class if the supplied search queries would return at least 1 result each

AUTHOR

Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 by Marc Bradshaw.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.