NAME
HTTP::XSHeaders - Fast XS Header library, replacing HTTP::Headers and HTTP::Headers::Fast
SYNOPSIS
# load once
use HTTP::XSHeaders;
# keep using HTTP::Headers or HTTP::Headers::Fast as you wish
DESCRIPTION
By loading HTTP::XSHeaders anywhere, you replace any usage of HTTP::Headers and HTTP::Headers::Fast with a fast C implementation.
You can continue to use HTTP::Headers and HTTP::Headers::Fast and any other module that depends on them just like you did before. It's just faster now.
COMPATIBILITY
While we keep compatibility with HTTP::Headers and HTTP::Headers::Fast, we've taken the liberty to make several changes that were deemed reasonable and sane:
Aligning in
as_string
methodas_string
method does weird stuff in order to keep the same indentation. This is unnecessary and unhelpful. We simply add one space for indentation.No messing around in header names and casing
The headers are stored as given (
MY-HeaDER
staysMY-HeaDER
) and compared as lowercase. We do not uppercase or lowercase anything (other than for comparing header names internally).Case normalization using leading colon is not supported
Following the previous item, we also do not normalized based on leading colon.
$TRANSLATE_UNDERSCORE
is not supported$TRANSLATE_UNDERSCORE
(which controls whether underscores are translated or not) is not supported. It's barely documented (or isn't at all), it isn't used by anything on CPAN, nor can we find any use-case other than the tests.
METHODS
TODO
Add ENV variable to control what classes are overridden
Fix skipped tests (or remove them)