亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xmlrpc.pm

?? Punjab is a jabber XMLRPC/SOAP/REST client. It is a xmlrpc, soap, or REST server that allows for p
?? PM
字號:
package PunJab::Server::XMLRPC;use strict;use warnings;use POE;use POE::Filter::XML;use POE::Filter::XML::Node;use POE::Filter::XML::NS qw/ :JABBER :IQ /;use POE::Filter::XML::Utils;use XMLRPC::Lite;use PunJab::Util;use PunJab::Session;use PunJab::Server::HTTP;use POSIX qw(strftime);use Digest::MD5 qw(md5 md5_hex md5_base64);use Data::Uniqid qw ( suniqid uniqid luniqid );my %public_interfaces; # xmlrpc code adapted from POE::Component::Server::XMLRPCsub new {    shift;    my $config = shift;    my $alias  = shift;    $alias = "xmlrpc" if not defined $alias;    #$config->{'type'} = "xmlrpc_client";    PunJab::Server::HTTP->new($config,\&handler,undef,undef,'xmlrpc_web_server');        POE::Session->create	( inline_states =>	  { _start => sub {	      my $kernel = $_[KERNEL];	      if ($config->{debug}>0) {		  &debug("XMLRPC Server Session Started\n");   	      }	      $kernel->alias_set($alias);	  },	  publish => sub {	      my ($alias, $event) = @_[ARG0, ARG1];	      $public_interfaces{$alias}{$event} = 1;	  },	  rescind => sub {	      my ($alias, $event) = @_[ARG0, ARG1];	      delete $public_interfaces{$alias}{$event};	  },	         # send_xmlrpc    => \&send_xmlrpc,	},	  heap => { CONFIG => $config },	  options => { debug => $config->{'debug'}, trace => $config->{'debug'} }	  );        return undef;}### Handlers for the xmlrpc server. sub shutdown_service {    $_[KERNEL]->yield("shutdown");}sub handler(){    # taken and modified from POE::Component::XMLRPC::Server    my ($kernel,$sender, $heap,$request) = @_[KERNEL,SENDER, HEAP, ARG0];        if($request->isa('HTTP::Response'))     {	 	 _request_failed( $request,			  403,			  "Bad Request",			  "This was a response?",			  $sender,	       			  );	 	 return;     }    my $response = HTTP::Response->new();    $heap->{'stream_count'} = 0;    # Parse useful things from the request.        my $query_string = $request->uri->query();    unless (defined($query_string) and $query_string =~ /\bsession=(.+ $ )/x) {	_request_failed( $response,			 404,			 "Bad Session Request",			 "Session does not exist.",			 $sender,			 );	return;    }    my $session = $1;    my ($data,$method_name,$args);    my $http_method            = $request->method();    my $request_content_type   = $request->header('Content-Type');    my $request_content_length = $request->header('Content-Length');    my $debug_request          = $request->header('DebugRequest');    my $request_content        = $request->content();    eval {	$data                   = XMLRPC::Deserializer	    ->deserialize($request_content);    };                if (defined($data)) {	$method_name            = $data->valueof("methodName");	$args                   = $data->valueof("params");    }    unless ($request_content_type =~ /^text\/xml(;.*)?$/) {	_request_failed( $response,			 404,			 "Bad Content-Type Request",			 "Content-Type must be text/xml.",			 $sender,			 );		return;    }        unless (defined($method_name) and length($method_name)) {	_request_failed( $response,			 404,			 "Bad methodName Request",			 "methodName is required.",			 $sender,			 );	return;    }        unless ($method_name =~ /^(\S+)$/) {	_request_failed( $response,			 403,			 "Bad Request",			 "Unrecognized methodName: $method_name",			 $sender,			 );	return;    }    unless (exists $public_interfaces{$session}) {	_request_failed( $response,			 500,			 "Bad Request",			 "Unknown session: $session",			 $sender,			 );	return;  }        unless (exists $public_interfaces{$session}{$method_name}) {	# put xmlrpc routing code here. 	_request_failed( $response,			 500,			 "Bad Request",			 "Unknown method: $method_name",			 $sender,                   );	return;    }        eval {	XMLRPCTransaction->start($sender,				 $request,				 $response,				 $session, 				 $method_name,				 $args,				 );    };        if ($@) {	_request_failed( $response,			 500,			 "Application Faulted",			 "An exception fired while processing the request: $@",			 $sender,						 );	    }    return;}#sub send_xmlrpc {#    my ($kernel,$session,$heap,$ret_val,$xmlrpc_trans) = #	@_[KERNEL, SESSION, HEAP, ARG0, ARG1];  #    $xmlrpc_trans->return($ret_val);#}sub _request_failed {  my ($response, $fault_code, $fault_string, $result_description,$sender,$csid) = @_;  my $response_content = qq{<?xml version="1.0"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><int>$fault_code</int></value></member><member><name>faultString</name><value><string>$fault_string</string></value></member></struct></value></fault></methodResponse>};  $response->code(200);  $response->header("Content-Type", "text/xml");  $response->header("Content-Length", length($response_content));  $response->content($response_content);  my $pb = $sender->postback( 'send_response', $response);  $pb->($response); # is there another way to do this?}package XMLRPCTransaction;sub TR_REQUEST  () { 0 }sub TR_RESPONSE () { 1 }sub TR_SESSION  () { 2 }sub TR_EVENT    () { 3 }sub TR_ARGS     () { 4 }sub TR_CLIENT   () { 5 }sub start(){  my ($type, $sender, $request, $response, $session,$event, $args, $csid) = @_;    my $self = bless    [ $request,      $response,      $session,      $event,      $args,      $sender->postback( 'send_response', $response),    ], $type;  $POE::Kernel::poe_kernel->post($session, $event, $self);  undef;}sub request {    my $self = shift;    return $self->[TR_REQUEST];}sub params(){  my $self = shift;  return $self->[TR_ARGS];}sub return(){    my $self = shift;        my $content;    eval {	$content = XMLRPC::Serializer->envelope(response => 'toMethod', @_);    };    if ($@) {	$content = XMLRPC::Serializer->envelope(response => 'toMethod', $@);    }    my $response = $self->[TR_RESPONSE];    $response->code(200);    $response->header("Content-Type", "text/xml");    $response->header("Content-Length", length($content));    $response->content($content);       $self->[TR_CLIENT]->($response);    return;}sub error {    my $self = shift;    my $content;    eval {	$content = XMLRPC::Serializer->envelope(response => 'fault', @_);    };    if ($@) {	$content = XMLRPC::Serializer->envelope(response => 'fault', $@);    }    my $response = $self->[TR_RESPONSE];     $response->code(200);    $response->header("Content-Type", "text/xml");    $response->header("Content-Length", length($content));    $response->content($content);    $self->[TR_CLIENT]->($response);    return;}sub auth {    my $self = shift;        my $content = qq{<?xml version="1.0"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><int>403</int></value></member><member><name>faultString</name><value><string>@_</string></value></member></struct></value></fault></methodResponse>};    my $response = $self->[TR_RESPONSE];     $response->code(200);    $response->header("Content-Type", "text/xml");    $response->header("Content-Length", length($content));    $response->content($content);    $self->[TR_CLIENT]->($response);    return;}1;__END__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文无字幕一区二区三区 | 久久久久99精品国产片| 成人免费毛片app| 狠狠色丁香婷综合久久| 亚洲男人的天堂在线观看| 欧美精品久久天天躁| 精品不卡在线视频| 色八戒一区二区三区| 成人一区二区三区视频在线观看| 国内外成人在线| 黑人精品欧美一区二区蜜桃| 亚洲不卡在线观看| 91麻豆高清视频| 亚洲精品一区二区三区99| 日本成人中文字幕| 欧美视频一区二区三区| 男女视频一区二区| 久久综合九色综合欧美亚洲| 91.com视频| 夜夜揉揉日日人人青青一国产精品| 亚洲一区自拍偷拍| 久久人人97超碰com| 国产一区在线看| 国产成人午夜99999| 99vv1com这只有精品| 欧美性欧美巨大黑白大战| 久久蜜臀精品av| av亚洲精华国产精华精| 欧美日韩成人激情| 国产一区高清在线| 国产午夜亚洲精品不卡| 亚洲精品v日韩精品| 2022国产精品视频| 久久久不卡网国产精品二区 | 亚洲精品乱码久久久久久 | 9i在线看片成人免费| 风流少妇一区二区| 久久免费看少妇高潮| 国产亚洲精品aa| 制服视频三区第一页精品| 欧美人妖巨大在线| 亚洲丝袜精品丝袜在线| 制服丝袜亚洲网站| 国产精品无码永久免费888| 亚洲一区在线观看网站| 亚洲综合色噜噜狠狠| 国产欧美久久久精品影院| av中文字幕亚洲| 亚洲精品视频一区| 国产成人精品1024| 8x福利精品第一导航| 亚洲r级在线视频| 婷婷国产在线综合| 欧美亚日韩国产aⅴ精品中极品| 天天色图综合网| 久久精品欧美日韩精品| 欧美视频中文字幕| 亚洲成人777| 国产在线精品一区在线观看麻豆| 成人免费看片app下载| 国产乱理伦片在线观看夜一区| 亚洲欧美日韩电影| 青青草原综合久久大伊人精品| 亚洲精品一区在线观看| 国产高清久久久久| 亚洲国产精品欧美一二99| 亚洲午夜免费电影| 日韩国产欧美三级| 国产精品麻豆久久久| 777色狠狠一区二区三区| 精品久久久久久久一区二区蜜臀| 久久只精品国产| 中文字幕一区二区三区在线不卡| 国产成人综合视频| 理论片日本一区| 国产精品护士白丝一区av| 国产精品久久国产精麻豆99网站 | 国产精品每日更新在线播放网址 | 日韩精彩视频在线观看| 日韩精品一区在线| 国产免费成人在线视频| 日韩三级视频在线看| 久久99久久久欧美国产| 在线观看日韩av先锋影音电影院| 成人国产一区二区三区精品| 国产日韩欧美精品一区| 3d动漫精品啪啪一区二区竹菊 | 极品少妇一区二区三区精品视频| 国产亲近乱来精品视频| 轻轻草成人在线| 欧美xxxxx牲另类人与| 亚洲欧美国产77777| 日韩欧美成人一区二区| 欧美丝袜丝nylons| 麻豆国产精品视频| 亚洲第一福利视频在线| 久久综合九色综合欧美就去吻| 日韩久久免费av| 94-欧美-setu| 日韩欧美国产小视频| 中日韩av电影| 欧美色欧美亚洲另类二区| 成人永久看片免费视频天堂| 69成人精品免费视频| 播五月开心婷婷综合| 色悠悠久久综合| 337p日本欧洲亚洲大胆精品| 婷婷久久综合九色综合伊人色| 3d动漫精品啪啪1区2区免费| 成人午夜电影小说| 国产成人午夜精品5599 | 婷婷国产v国产偷v亚洲高清| 亚洲免费观看高清完整版在线| 国产综合成人久久大片91| 日韩欧美中文字幕精品| 韩国在线一区二区| 中文字幕亚洲电影| 日本精品视频一区二区三区| 美女视频黄 久久| 日韩和欧美一区二区| 久久综合久久综合久久| 成人一道本在线| 免费观看一级特黄欧美大片| 国产精品天干天干在线综合| 69堂国产成人免费视频| 成人综合婷婷国产精品久久免费| 久久99最新地址| 国产欧美日韩另类一区| 亚洲视频一二三| 国产成人亚洲精品青草天美| 99久久综合国产精品| 亚洲一区视频在线| 美女网站色91| 99久久久久久| 亚洲欧美综合网| 精品日本一线二线三线不卡| 欧洲色大大久久| 成人免费视频视频在线观看免费 | 91精品1区2区| 国内精品在线播放| 亚洲欧美在线观看| 亚洲综合999| 久久精品欧美日韩| 亚洲成人福利片| 麻豆精品精品国产自在97香蕉| 五月天中文字幕一区二区| 成人黄色a**站在线观看| 欧美精品亚洲二区| 亚洲成人动漫在线免费观看| 在线播放视频一区| 欧美大片在线观看一区二区| 亚洲一区二区av在线| 国产精品对白交换视频| 日韩三级高清在线| 国产精品午夜春色av| 国产精品久久久久久久久搜平片 | 欧美一区二区啪啪| 91视视频在线观看入口直接观看www| 亚洲一区二区在线播放相泽| 国产一区二区三区免费在线观看| 久久久久久久久久久久电影| 欧美一区二区三区在线看| 韩国成人福利片在线播放| a在线播放不卡| 国产a级毛片一区| 韩国欧美一区二区| 日韩制服丝袜av| 91同城在线观看| 一本一道综合狠狠老| 日韩不卡一二三区| 综合激情网...| 亚洲va韩国va欧美va精品| 国产精品理伦片| 国产精品麻豆久久久| 91丨九色丨蝌蚪富婆spa| 成人永久免费视频| 亚洲精品免费在线观看| 91精品国产综合久久久蜜臀粉嫩| 91网站视频在线观看| 亚洲已满18点击进入久久| 国产美女av一区二区三区| 99精品视频在线免费观看| 久久精品人人爽人人爽| 九九在线精品视频| 久色婷婷小香蕉久久| 樱花影视一区二区| 婷婷一区二区三区| 日韩一区二区三区电影 | 欧美精品v国产精品v日韩精品| 成人黄色网址在线观看| 国产欧美综合在线| 综合久久国产九一剧情麻豆| 成人晚上爱看视频| 成人激情综合网站| 国产一区二区三区免费看| 亚洲人午夜精品天堂一二香蕉| 亚洲愉拍自拍另类高清精品| 久久午夜老司机| 国产日韩欧美精品一区| 91免费小视频|