Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 268

Show
Ignore:
Timestamp:
07/18/01 22:23:36 (7 years ago)
Author:
nakahiro
Message:

Added StandaloneServer? implementation. Thanks to MNeumann! Introduce new

superclass Server and Let CGIStub and StandaloneServer? derive it.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/cgistub.rb

    r260 r268  
    1717=end 
    1818 
    19 require 'soap/soap' 
    20 require 'soap/rpcRouter' 
    21  
    22 # Ruby bundled library 
    23  
    24 # Redist library 
    25 require 'application' 
     19require 'soap/server' 
    2620 
    2721 
     
    3630#   To be written... 
    3731# 
    38 class CGIStub < Application 
     32class CGIStub < Server 
    3933  include SOAP 
    40   include RPCUtils 
    4134 
    4235  class CGIError < Error; end 
     
    224217 
    225218  def initialize( appName, namespace ) 
    226     super( appName ) 
    227     @namespace = namespace 
     219    super( appName, namespace ) 
    228220    @remote_user = ENV[ 'REMOTE_USER' ] || 'anonymous' 
    229221    @remote_host = ENV[ 'REMOTE_HOST' ] || ENV[ 'REMOTE_ADDR' ] || 'unknown' 
    230222    @request = nil 
    231223    @response = nil 
    232     @router = RPCRouter.new( appName ) 
    233224  end 
    234225   
     
    241232   
    242233  def run 
     234    @log.sevThreshold = SEV_INFO 
     235 
    243236    begin 
    244237      log( SEV_INFO, "Received a request from '#{ @remote_user }@#{ @remote_host }'." ) 
     
    248241      log( SEV_INFO, "CGI Request: #{@request}" ) 
    249242 
    250       # Method definition 
    251       methodDef 
    252  
    253243      requestString = @request.dump 
    254244      log( SEV_DEBUG, "XML Request: #{requestString}" ) 
    255245 
    256       responseString, isFault = @router.route( requestString ) 
     246      responseString, isFault = route( requestString ) 
    257247      log( SEV_DEBUG, "XML Response: #{responseString}" ) 
    258248 
     
    270260 
    271261    rescue Exception 
    272       responseString = @router.faultResponseString( $! ) 
     262      responseString = createFaultResponseString( $! ) 
    273263      @response = CGIResponse.new( responseString ) 
    274264      @response.header.status = 500 
     
    281271    end 
    282272  end 
    283  
    284   # namespace cannot be defined here. 
    285   def addMethod( receiver, methodName, *paramArg ) 
    286     paramDef = if paramArg.size == 1 and paramArg[ 0 ].is_a?( Array ) 
    287         paramArg[ 0 ] 
    288       else 
    289         SOAPMethod.createParamDef( paramArg ) 
    290       end 
    291     @router.addMethod( @namespace, receiver, methodName, paramDef ) 
    292   end 
    293273end 
    294274