The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

JSONRPC::Transport::HTTP (3)
  • >> JSONRPC::Transport::HTTP (3) ( Разные man: Библиотечные вызовы )
  •  

    NAME

    JSONRPC::Transport::HTTP
     
    

    SYNOPSIS

     #--------------------------
     # In your application class
     package MyApp;
    
    

     sub own_method { # called by clients
         my ($server, @params) = @_; # $server is JSONRPC object.
         ...
         # return a scalar value or a hashref or an arryaref.
     }
    
    

     #--------------------------
     # In your main cgi script.
     use JSONRPC::Transport::HTTP;
     use MyApp;
    
    

     # a la XMLRPC::Lite
     JSONRPC::Transport::HTTP::CGI->dispatch_to('MyApp')->handle();
    
    

     ##################
     # Daemon version #
     ##################
    
    

     use strict;
     use lib qw(. ./lib);
     use JSONRPC::Transport::HTTP;
    
    

     my $daemon = JSONRPC::Transport::HTTP::Daemon
            ->new(LocalPort => 8080)
            ->dispatch_to('MyApp/Test', 'MyApp/Test2');
    
    

     $daemon->handle();
    
    

     ##################
     # Apache version #
     ##################
    
    

     http.conf or .htaccess
    
    

       SetHandler  perl-script
       PerlHandler Apache::JSONRPC
       PerlModule  MyApp::Test
       PerlSetVar  dispatch_to "MyApp::Test, MyApp/Test2/"
    
    

     #--------------------------
     # Client
     #--------------------------
    
    

     use JSONRPC::Transport::HTTP;
     my $uri = 'http://www.example.com/MyApp/Test/';
    
    

     my $res = JSONRPC::Transport::HTTP
                ->proxy($uri)
                ->call('echo',['This is test.'])
                ->result;
    
    

     if($res->error){
       print $res->error,"\n";
     }
     else{
       print $res->result,"\n";
     }
    
    

     # or
    
    

     my $client = JSONRPC::Transport::HTTP->proxy($uri);
    
    

     print $client->echo('This is test.'); # the alias, _echo is same.
    
    
     

    DESCRIPTION

    This module is JSONRPC subclass. Most ideas were borrowed from XMLRPC::Lite. Currently "JSONRPC" provides only CGI server function.  

    CHARSET

    When the module returns response, its charset is UTF-8 by default. You can change it via passing a key/value pair into handle().

     my %charset = (charset => 'EUC-JP');
     JSONRPC::Transport::HTTP::CGI->dispatch_to('MyApp')->handle(%charset);
    
    
     

    QUERY OBJECT

    If you want to use any other query object instead of "CGI" for JSONRPC::Transport::HTTP::CGI, you can pass "query" option and "paramName".

     my %opt = (
       query     => $session, # CGI::Session object
       paramName => 'json',
     );
    
    

     JSONRPC::Transport::HTTP::CGI->dispatch_to('MyApp')->handle(%opt);
    
    
     

    CAUTION

    JSONRPC::Transport::HTTP::CGI requires CGI.pm which version is more than 2.9.2. (the core module in Perl 5.8.1.)

    Since verion 1.0, JSONRPC::Transport::HTTP requires HTTP::Request and HTTP::Response. For using JSONRPC::Transport::HTTP::Client, you need LWP::UserAgent.  

    SEE ALSO

    JSONRPC JSON XMLRPC::Lite <http://json-rpc.org/>  

    AUTHOR

    Makamaka Hannyaharamitu, <makamaka[at]cpan.org>  

    COPYRIGHT AND LICENSE

    Copyright 2005 by Makamaka Hannyaharamitu

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


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    CHARSET
    QUERY OBJECT
    CAUTION
    SEE ALSO
    AUTHOR
    COPYRIGHT AND LICENSE


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру