AnyEvent-HTTPD-ExtDirect

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

3.20  Tue Mar 31 23:05:03 PDT 2015
    - Updated to support call metadata feature in RPC::ExtDirect 3.20
    - Added unit tests
    - RPC::ExtDirect dependency bumped to 3.20

3.02  Fri Oct 24 21:29:45 PDT 2014
    - Fixed a charset issue that caused grief to IE8 users
    - Improved test suite robustness

3.01  Mon Jun 16 20:05:48 PDT 2014
    - Added HTTP::Request to the dependency list. I assumed that it
      was required by AnyEvent::HTTPD but judging by the failure
      reports from CPAN testers it is not so.
    - Assorted tiny doc and misc touch-ups.

3.00  Thu Jun 12 19:41:35 PDT 2014
    - Initial version released. Version set to 3.00 to reflect that
      this gateway requires RPC::ExtDirect 3.0+, and for consistency
      with other gateways

META.json  view on Meta::CPAN

         }
      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "AnyEvent::HTTPD" : "0.93",
            "HTTP::Request" : "0",
            "RPC::ExtDirect" : "3.20",
            "perl" : "5.008"
         }
      }
   },
   "release_status" : "stable",
   "resources" : {
      "bugtracker" : {
         "web" : "https://github.com/nohuhu/AnyEvent-HTTPD-ExtDirect/issues"
      },

META.yml  view on Meta::CPAN

meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: AnyEvent-HTTPD-ExtDirect
no_index:
  directory:
    - t
    - inc
requires:
  AnyEvent::HTTPD: '0.93'
  HTTP::Request: '0'
  RPC::ExtDirect: '3.20'
  perl: '5.008'
resources:
  bugtracker: https://github.com/nohuhu/AnyEvent-HTTPD-ExtDirect/issues
  repository: https://github.com/nohuhu/AnyEvent-HTTPD-ExtDirect
version: '3.20'

Makefile.PL  view on Meta::CPAN


END
}

my $MM_VERSION  = $ExtUtils::MakeMaker::VERSION;
my $github_repo = 'https://github.com/nohuhu/AnyEvent-HTTPD-ExtDirect';

my %CORE_REQ = (
    'AnyEvent::HTTPD' => '0.93',
    'RPC::ExtDirect'  => '3.20',
    'HTTP::Request'   => 0,
);

my %TEST_REQ = (
    'Test::More' => '0.82', # for explain()
    'URI'        => 0,
);

WriteMakefile(
    NAME         => 'AnyEvent::HTTPD::ExtDirect',
    VERSION_FROM => 'lib/AnyEvent/HTTPD/ExtDirect.pm',

t/lib/RPC/ExtDirect/Test/Util/AnyEvent.pm  view on Meta::CPAN


use common::sense;

use Test::More;

use AnyEvent::Impl::Perl;
use AnyEvent;
use AnyEvent::HTTPD::Util;

use URI::http;
use HTTP::Request;
use HTTP::Request::Common;
use HTTP::Response;
use JSON;

use RPC::ExtDirect::Config;
use RPC::ExtDirect::Test::Util;

use base 'Exporter';

our @EXPORT = qw/
    run_tests

t/lib/RPC/ExtDirect/Test/Util/AnyEvent.pm  view on Meta::CPAN

            
            $cmp_pkg->$cmp_fn($have, $want, "$name: content");
        };
        
        $server->stop;
    };
}

### NON EXPORTED PUBLIC PACKAGE SUBROUTINE ###
#
# Return a new HTTP::Request object for a raw GET call
#

sub raw_get {
    # This can be called either as a class method, or a plain sub
    shift if $_[0] eq __PACKAGE__;
    
    my ($url) = @_;
    
    my $req = HTTP::Request::Common::GET $url;
    $req->protocol('HTTP/1.0');
    
    return $req;
}

### NON EXPORTED PUBLIC PACKAGE SUBROUTINE ###
#
# Return a new HTTP::Request object for a raw POST call
#

sub raw_post {
    # This can be called either as a class method, or a plain sub
    shift if $_[0] eq __PACKAGE__;
    
    my ($url, $content) = @_;
    
    my $req = HTTP::Request::Common::POST $url,
                Content_Type => 'application/json',
                Content      => $content
           ;
    $req->protocol('HTTP/1.0');
    
    return $req;
}

### NON EXPORTED PUBLIC PACKAGE SUBROUTINE ###
#
# Return a new HTTP::Request object for a form call
#

sub form_post {
    # This can be called either as a class method, or a plain sub
    shift if $_[0] eq __PACKAGE__;
    
    my ($url, @fields) = @_;

    my $req = HTTP::Request::Common::POST $url, Content => [ @fields ];
    $req->protocol('HTTP/1.0');
    
    return $req;
}

### NON EXPORTED PUBLIC PACKAGE SUBROUTINE ###
#
# Return a new HTTP::Request object for a form call
# with file uploads
#

sub form_upload {
    # This can be called either as a class method, or a plain sub
    shift if $_[0] eq __PACKAGE__;
    
    my ($url, $files, @fields) = @_;

    my $type = 'application/octet-stream';

    my $req = HTTP::Request::Common::POST $url,
           Content_Type => 'form-data',
           Content      => [ @fields,
                             map {
                                    (   upload => [
                                            "t/data/cgi-data/$_",
                                            $_,
                                            'Content-Type' => $type,
                                        ]
                                    )
                                 } @$files



( run in 0.581 second using v1.01-cache-2.11-cpan-de7293f3b23 )