Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/motemen/http-response-maker

easy HTTP response object maker functions
https://github.com/motemen/http-response-maker

Last synced: about 1 month ago
JSON representation

easy HTTP response object maker functions

Awesome Lists containing this project

README

        

# NAME

HTTP::Response::Maker - easy HTTP response object maker functions

# SYNOPSIS

use HTTP::Response::Maker 'HTTPResponse', (
default_headers => [
'Content-Type' => 'text/html; charset=utf-8'
],
prefix => 'RESPOND_',
);

# now you can use functions like RESPOND_OK() or RESPOND_NOT_FOUND()

or

use HTTP::Response::Maker::Exception prefix => 'throw_';

throw_FOUND([Location => '/']);

# DESCRIPTION

HTTP::Response::Maker provides HTTP response object maker functions.
They are named as `OK()` or `NOT_FOUND()`, corresponding to
the [HTTP::Status](http://search.cpan.org/perldoc?HTTP::Status) constant names.

# USAGE

## use HTTP::Response::Maker _$impl_, _%args_;

Exports HTTP response maker functions to current package.

_$impl_ specifies what functions make. See IMPLEMENTATION.

_%args_ has these keys:

- prefix => ''

Prefix for exported functions names.

- default\_headers => \\@HTTP::Response::Maker::DefaultHeaders

Default HTTP headers in arrayref.

# IMPLEMENTATION

`import()`'s first argument specifies what type of objects functions generate.
Currently it is one of:

- [HTTPResponse](http://search.cpan.org/perldoc?HTTP::Response::Maker::HTTPResponse)

Generates an [HTTP::Response](http://search.cpan.org/perldoc?HTTP::Response) object.

- [PSGI](http://search.cpan.org/perldoc?HTTP::Response::Maker::PSGI)

Generates an arrayref of [PSGI response](http://search.cpan.org/perldoc?PSGI#The\_Response) format.

- [Plack](http://search.cpan.org/perldoc?HTTP::Response::Maker::Plack)

Generates a [Plack::Response](http://search.cpan.org/perldoc?Plack::Response) object.

You can specify subclass of [Plack::Response](http://search.cpan.org/perldoc?Plack::Response) to generate:

use HTTP::Response::Maker 'Plack', class => 'Your::Plack::Response';

- [Exception](http://search.cpan.org/perldoc?HTTP::Response::Maker::Exception)

Throws an [HTTP::Exception](http://search.cpan.org/perldoc?HTTP::Exception).

# FUNCTION ARGS

Exported functions accept arguments in some ways:

my $res = OK;
my $res = OK $content;
my $res = OK \@headers;
my $res = OK \@headers, $content;

# AUTHOR

motemen

# SEE ALSO

[HTTP::Status](http://search.cpan.org/perldoc?HTTP::Status), [PSGI](http://search.cpan.org/perldoc?PSGI), [HTTP::Response](http://search.cpan.org/perldoc?HTTP::Response), [HTTP::Exception](http://search.cpan.org/perldoc?HTTP::Exception)

# LICENSE

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