GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  FEERSUM::CONNECTION (3)

.ds Aq ’

NAME

Feersum::Connection - HTTP connection encapsulation

CONTENTS

SYNOPSIS

For a streaming response:



    Feersum->endjinn->request_handler(sub {
        my $req = shift; # this is a Feersum::Connection object
        my $env = $req->env();
        my $w = $req->start_streaming(200, [Content-Type => text/plain]);
        # then immediately or after some time:
        $w->write("Ergrates ");
        $w->write(\"FTW.");
        $w->close();
    });



For a response with a Content-Length header:



    Feersum->endjinn->request_handler(sub {
        my $req = shift; # this is a Feersum::Connection object
        my $env = $req->env();
        $req->start_whole_response(200, [Content-Type => text/plain]);
        $req->write_whole_body(\"Ergrates FTW.");
    });



DESCRIPTION

Encapsulates an HTTP connection to Feersum. It’s roughly analagous to an Apache::Request or Apache2::Connection object, but differs significantly in functionality.

Until Keep-Alive functionality is supported (if ever) this means that a connection is <B>alsoB> a request.

See Feersum for more examples on usage.

METHODS

my $env = $req->env() Obtain an environment hash. This hash contains the same entries as for a PSGI handler environment hash. See Feersum for details on the contents.

This is a method instead of a parameter so that future versions of Feersum can request a slice of the hash for speed.

my $w = $req->start_streaming($code, \@headers) A full HTTP header section is sent with Transfer-Encoding: chunked (or Connection: close for HTTP/1.0 clients).

Returns a Feersum::Connection::Writer handle which should be used to complete the response. See Feersum::Connection::Handle for methods.

$req->send_response($code, \@headers, $body)
$req->send_response($code, \@headers, \@body) Respond with a full HTTP header (including Content-Length) and body.

Returns the number of bytes calculated for the body.

$req->force_http10
$req->force_http11 Force the response to use HTTP/1.0 or HTTP/1.1, respectively.

Normally, if the request was made with 1.1 then Feersum uses HTTP/1.1 for the response, otherwise HTTP/1.0 is used (this includes requests made with the HTTP 0.9 non-declaration).

For streaming under HTTP/1.1 Transfer-Encoding: chunked is used, otherwise a Connection: close stream-style is used (with the usual non-guarantees about delivery). You may know about certain user-agents that support/don’t-support T-E:chunked, so this is how you can override that.

Supposedly clients and a lot of proxies support the Connection: close stream-style, see support in Varnish at http://www.varnish-cache.org/trac/ticket/400

$req->fileno The socket file-descriptor number for this connection.
$req->response_guard($guard) Register a guard to be triggered when the response is completely sent and the socket is closed. A guard in this context is some object that will do something interesting in its DESTROY/DEMOLISH method. For example, Guard.

AUTHOR

Jeremy Stashewsky, stash@cpan.org

COPYRIGHT AND LICENSE

Copyright (C) 2010 by Jeremy Stashewsky & Socialtext Inc.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 FEERSUM::CONNECTION (3) 2015-08-12

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.