Giter VIP home page Giter VIP logo

http-daemon-unix's Introduction

NAME
    HTTP::Daemon::UNIX - HTTP::Daemon over Unix sockets

VERSION
    This document describes version 0.05 of HTTP::Daemon::UNIX (from Perl
    distribution HTTP-Daemon-UNIX), released on 2014-12-05.

SYNOPSIS
     use HTTP::Daemon::UNIX;

     # arguments will be passed to IO::Socket::UNIX, but Listen=>1 and
     # Type=>SOCK_STREAM will be added by default. also, HTTP::Daemon::UNIX will try
     # to delete stale socket first, for convenience.
     my $d = HTTP::Daemon::UNIX->new(Local => "/path/to/unix.sock");

     # will print something like: "http:path/to/unix.sock"
     print "Please contact me at: <URL:", $d->url, ">\n";

     # after that, use like you would use HTTP::Daemon
     while (my $c = $d->accept) {
         while (my $r = $c->get_request) {
             if ($r->method eq 'GET' and $r->uri->path eq "/xyzzy") {
                 # remember, this is *not* recommended practice :-)
                 $c->send_file_response("/etc/passwd");
             } else {
                 $c->send_error(RC_FORBIDDEN);
             }
         }
         $c->close;
         undef($c);
     }

     # client side code, using LWP::Protocol::http::SocketUnixAlt
     use LWP::Protocol::http::SocketUnixAlt;
     use LWP::UserAgent;
     use HTTP::Request::Common;

     my $ua = LWP::UserAgent->new;
     my $orig_imp = LWP::Protocol::implementor("http");
     LWP::Protocol::implementor(http => 'LWP::Protocol::http::SocketUnixAlt');
     my $resp = $ua->request(GET "http:path/to/unix.sock//uri/path");
     LWP::Protocol::implementor(http => $orig_imp);

DESCRIPTION
    This is a quick hack to enable HTTP::Daemon to serve requests over Unix
    sockets, by mixing in IO::Socket::UNIX and HTTP::Daemon as parents to
    HTTP::Daemon::UNIX and overriding IO::Socket::INET-related stuffs.

    Basic stuffs seem to be working, but this module has not been tested
    extensively, so beware that things might blow up in your face.

SEE ALSO
    HTTP::Daemon

    LWP::Protocol::http::SocketUnixAlt

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/HTTP-Daemon-UNIX>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-HTTP-Daemon-UNIX>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Daemon-UNIX>

    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
    perlancar <[email protected]>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2014 by [email protected].

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

http-daemon-unix's People

Contributors

perlancar avatar sharyanto avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.