NAME

HTTP::AnyUA::Util - Utility subroutines for HTTP::AnyUA backends and middleware

VERSION

version 0.904

FUNCTIONS

coderef_content_to_string

    $content = coderef_content_to_string(\&code);
    $content = coderef_content_to_string($content);     # noop

Convert a coderef into a string of content by iteratively calling the coderef and concatenating the chunks it provides until the coderef returns undef or an empty string.

native_to_http_request

    $http_request = native_to_http_request($method, $url);
    $http_request = native_to_http_request($method, $url, \%options);

Convert a "native" request tuple to an HTTP::Request object.

http_headers_to_native

    $headers = http_headers_to_native($http_headers);

Convert an HTTP::Headers object to a "native" hashref.

normalize_headers

    $normalized_headers = normalize_headers(\%headers);

Normalize headers. Currently lowercases header keys.

internal_exception

    $response = internal_exception($content);
    $response = internal_exception($content, $response);

Create an internal exception response. If an existing response is passed, that response will have its fields modified to become an internal exception.

split_url

    ($scheme, $host, $port, $path_query, $auth) = split_url($url);

Split a URL into its components.

http_date

    $http_date = http_date($epoch_time);

Convert an epoch time into a date format suitable for HTTP.

parse_http_date

    $epoch_time = parse_http_date($http_date);

Convert an HTTP date into an epoch time. Returns undef if the date cannot be parsed.

uri_escape

    $escaped = uri_escape($unescaped);

Escape a string for use in a URL query param or as application/x-www-form-urlencoded data.

www_form_urlencode

    $bytes = www_form_urlencode(\%form_data);
    $bytes = www_form_urlencode(\@form_data);

Encode a hashref or arrayref as application/x-www-form-urlencoded data.

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/chazmcgarvey/HTTP-AnyUA/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

Charles McGarvey <chazmcgarvey@brokenzipper.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2019 by Charles McGarvey.

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