Changeset 1811
- Timestamp:
- 05/26/07 11:25:22 (2 years ago)
- Files:
-
- trunk/lib/soap/netHttpClient.rb (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/netHttpClient.rb
r1743 r1811 30 30 attr_accessor :send_timeout # ignored for now. 31 31 attr_accessor :receive_timeout 32 attr_reader :test_loopback_response 32 33 33 34 def initialize(proxy = nil, agent = nil) … … 35 36 @agent = agent 36 37 @debug_dev = nil 38 @test_loopback_response = [] 37 39 @session_manager = SessionManager.new 38 40 @no_proxy = @ssl_config = @protocol_version = nil 39 41 @connect_timeout = @send_timeout = @receive_timeout = nil 40 end41 42 def test_loopback_response43 raise NotImplementedError.new("not supported for now")44 42 end 45 43 … … 89 87 90 88 def get_content(url, header = {}) 89 if str = @test_loopback_response.shift 90 return str 91 end 91 92 unless url.is_a?(URI) 92 93 url = URI.parse(url) … … 103 104 104 105 def post_redirect(url, req_body, header, redirect_count) 106 if str = @test_loopback_response.shift 107 if @debug_dev 108 @debug_dev << "= Request\n\n" 109 @debug_dev << req_body 110 @debug_dev << "\n\n= Response\n\n" 111 @debug_dev << str 112 end 113 status = 200 114 reason = nil 115 contenttype = 'text/xml' 116 content = str 117 return Response.new(status, reason, contenttype, content) 118 return str 119 end 105 120 unless url.is_a?(URI) 106 121 url = URI.parse(url) … … 109 124 extra['User-Agent'] = @agent if @agent 110 125 res = start(url) { |http| 126 if @debug_dev 127 @debug_dev << "= Request\n\n" 128 @debug_dev << req_body << "\n" 129 end 111 130 http.post(url.request_uri, req_body, extra) 112 131 } … … 120 139 end 121 140 else 122 Response. new(res)141 Response.from_httpresponse(res) 123 142 end 124 143 end … … 131 150 worker.finish 132 151 } 133 @debug_dev << response.body if @debug_dev 152 if @debug_dev 153 @debug_dev << "\n\n= Response\n\n" 154 @debug_dev << response.body << "\n" 155 end 134 156 response 135 157 end … … 187 209 188 210 class Response 189 attr_reader :content190 211 attr_reader :status 191 212 attr_reader :reason 192 213 attr_reader :contenttype 193 194 def initialize(res) 195 @status = res.code.to_i 196 @reason = res.message 197 @contenttype = res['content-type'] 198 @content = res.body 214 attr_reader :content 215 216 def initialize(status, reason, contenttype, content) 217 @status = status 218 @reason = reason 219 @contenttype = contenttype 220 @content = content 221 end 222 223 def self.from_httpresponse(res) 224 status = res.code.to_i 225 reason = res.message 226 contenttype = res['content-type'] 227 content = res.body 228 new(status, reason, contenttype, content) 199 229 end 200 230 end