Class: Vertx::HttpClientResponse
- Inherits:
-
Object
- Object
- Vertx::HttpClientResponse
- Includes:
- ReadStream
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb
Overview
Vert.x provides you with one of these via the handler that was provided when creating the HttpClientRequest or that was set on the HttpClientRequest instance.
It implements ReadStream so it can be used with Pump to pump data with flow control.
Constant Summary
- @@j_api_type =
Object.new
Class Method Summary (collapse)
- + (Boolean) accept?(obj)
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (self) body(handler) { ... }
Same as #body but with an handler called when the operation completes.
-
- (self) bodyHandler(bodyHandler) { ... }
Convenience method for receiving the entire request body in one piece.
-
- (Array<String>) cookies
The Set-Cookie headers (including trailers).
-
- (self) customFrameHandler(handler) { ... }
Set an custom frame handler.
- - (self) endHandler(endHandler) { ... }
- - (self) exceptionHandler(handler) { ... }
- - (self) fetch(amount)
-
- (String) getHeader(headerName)
Return the first header value with the specified name.
-
- (String) getTrailer(trailerName)
Return the first trailer value with the specified name.
- - (self) handler(handler) { ... }
-
- (::Vertx::MultiMap) headers
The headers.
-
- (::Vertx::NetSocket) netSocket
Get a net socket for the underlying connection of this request.
- - (self) pause
-
- (::Vertx::Pipe) pipe
Pause this stream and return a to transfer the elements of this stream to a destination .
-
- (void) pipeTo(dst, handler) { ... }
Pipe this ReadStream to the WriteStream.
-
- (::Vertx::HttpClientRequest) request
The corresponding request.
- - (self) resume
-
- (Fixnum) statusCode
The status code of the response.
-
- (String) statusMessage
The status message of the response.
-
- (self) streamPriorityHandler(handler) { ... }
Set an handler for stream priority changes.
-
- (::Vertx::MultiMap) trailers
The trailers.
-
- (:HTTP_1_0, ...) version
The version of the response.
Class Method Details
+ (Boolean) accept?(obj)
34 35 36 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 34 def @@j_api_type.accept?(obj) obj.class == HttpClientResponse end |
+ (Object) j_api_type
43 44 45 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 43 def self.j_api_type @@j_api_type end |
+ (Object) j_class
46 47 48 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 46 def self.j_class Java::IoVertxCoreHttp::HttpClientResponse.java_class end |
+ (Object) unwrap(obj)
40 41 42 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 40 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
37 38 39 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 37 def @@j_api_type.wrap(obj) HttpClientResponse.new(obj) end |
Instance Method Details
- (self) body(handler) { ... }
handler
called when the operation completes
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 110 def body if true if (block_given?) @j_del.java_method(:body, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Buffer) : nil) } : promise) return self else promise = ::Vertx::Util::Utils.promise @j_del.java_method(:body, [Java::IoVertxCore::Handler.java_class]).call(block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Buffer) : nil) } : promise) return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future,::Vertx::Buffer.j_api_type) end end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling body()" end end |
- (self) bodyHandler(bodyHandler) { ... }
This saves you having to manually set a dataHandler and an endHandler and append the chunks of the body until the whole body received. Don't use this if your request body is large - you could potentially run out of RAM.
323 324 325 326 327 328 329 330 331 332 333 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 323 def body_handler if true @j_del.java_method(:bodyHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) unless !block_given? })) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling body_handler()" end end |
- (Array<String>) cookies
178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 178 def if !block_given? if @cached_cookies != nil return @cached_cookies end return @cached_cookies = @j_del.java_method(:cookies, []).call().to_a.map { |elt| elt } end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling cookies()" end end |
- (self) customFrameHandler(handler) { ... }
368 369 370 371 372 373 374 375 376 377 378 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 368 def custom_frame_handler if true @j_del.java_method(:customFrameHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::HttpFrame)) unless !block_given? })) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling custom_frame_handler()" end end |
- (self) endHandler(endHandler) { ... }
291 292 293 294 295 296 297 298 299 300 301 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 291 def end_handler if true @j_del.java_method(:endHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(nil) unless !block_given? })) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling end_handler()" end end |
- (self) exceptionHandler(handler) { ... }
352 353 354 355 356 357 358 359 360 361 362 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 352 def exception_handler if true @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) unless !block_given? })) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling exception_handler()" end end |
- (self) fetch(amount)
305 306 307 308 309 310 311 312 313 314 315 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 305 def fetch(*args) if args[0].class == Fixnum && !block_given? @j_del.java_method(:fetch, [Java::long.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling fetch(#{args[0]})" end end |
- (String) getHeader(headerName)
235 236 237 238 239 240 241 242 243 244 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 235 def get_header(*args) if args[0].class == String && !block_given? return @j_del.java_method(:getHeader, [Java::java.lang.String.java_class]).call(args[0]) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling get_header(#{args[0]})" end end |
- (String) getTrailer(trailerName)
131 132 133 134 135 136 137 138 139 140 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 131 def get_trailer(*args) if args[0].class == String && !block_given? return @j_del.java_method(:getTrailer, [Java::java.lang.String.java_class]).call(args[0]) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling get_trailer(#{args[0]})" end end |
- (self) handler(handler) { ... }
95 96 97 98 99 100 101 102 103 104 105 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 95 def handler if true @j_del.java_method(:handler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) unless !block_given? })) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling handler()" end end |
- (::Vertx::MultiMap) headers
79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 79 def headers if !block_given? if @cached_headers != nil return @cached_headers end return @cached_headers = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:headers, []).call(),::Vertx::MultiMap) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling headers()" end end |
- (::Vertx::NetSocket) netSocket
USE THIS WITH CAUTION! Writing to the socket directly if you don't know what you're doing can easily break the HTTP protocol.
HTTP/1.1 pipe-lined requests cannot support net socket upgrade.
One valid use-case for calling this is to receive the NetSocket after a HTTP CONNECT was issued to the remote peer and it responded with a status code of 200.
163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 163 def net_socket if !block_given? if @cached_net_socket != nil return @cached_net_socket end return @cached_net_socket = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:netSocket, []).call(),::Vertx::NetSocket) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling net_socket()" end end |
- (self) pause
205 206 207 208 209 210 211 212 213 214 215 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 205 def pause if !block_given? @j_del.java_method(:pause, []).call() return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling pause()" end end |
- (::Vertx::Pipe) pipe
WriteStream
.
339 340 341 342 343 344 345 346 347 348 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 339 def pipe if !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:pipe, []).call(),::Vertx::Pipe,::Vertx::Buffer.j_api_type) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling pipe()" end end |
- (void) pipeTo(dst, handler) { ... }
This method returns an undefined value.
Pipe thisReadStream
to the WriteStream
.
Elements emitted by this stream will be written to the write stream until this stream ends or fails.
Once this stream has ended or failed, the write stream will be ended and the handler
will be
called with the result.
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 272 def pipe_to(*args) if args[0].class.method_defined?(:j_del) && true if (block_given?) return @j_del.java_method(:pipeTo, [Java::IoVertxCoreStreams::WriteStream.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) else promise = ::Vertx::Util::Utils.promise @j_del.java_method(:pipeTo, [Java::IoVertxCoreStreams::WriteStream.java_class,Java::IoVertxCore::Handler.java_class]).call(args[0].j_del,block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) return ::Vertx::Util::Utils.safe_create(promise.future(),::Vertx::Future, nil) end end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling pipe_to(#{args[0]})" end end |
- (::Vertx::HttpClientRequest) request
64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 64 def request if !block_given? if @cached_request != nil return @cached_request end return @cached_request = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:request, []).call(),::Vertx::HttpClientRequest) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling request()" end end |
- (self) resume
51 52 53 54 55 56 57 58 59 60 61 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 51 def resume if !block_given? @j_del.java_method(:resume, []).call() return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling resume()" end end |
- (Fixnum) statusCode
381 382 383 384 385 386 387 388 389 390 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 381 def status_code if !block_given? return @j_del.java_method(:statusCode, []).call() end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling status_code()" end end |
- (String) statusMessage
193 194 195 196 197 198 199 200 201 202 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 193 def if !block_given? return @j_del.java_method(:statusMessage, []).call() end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling status_message()" end end |
- (self) streamPriorityHandler(handler) { ... }
251 252 253 254 255 256 257 258 259 260 261 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 251 def stream_priority_handler if true @j_del.java_method(:streamPriorityHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event != nil ? JSON.parse(event.toJson.encode) : nil) unless !block_given? })) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling stream_priority_handler()" end end |
- (::Vertx::MultiMap) trailers
218 219 220 221 222 223 224 225 226 227 228 229 230 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 218 def trailers if !block_given? if @cached_trailers != nil return @cached_trailers end return @cached_trailers = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:trailers, []).call(),::Vertx::MultiMap) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling trailers()" end end |
- (:HTTP_1_0, ...) version
143 144 145 146 147 148 149 150 151 152 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_client_response.rb', line 143 def version if !block_given? return @j_del.java_method(:version, []).call().name.intern end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling version()" end end |