Class: Vertx::HttpClientRequest
- Inherits:
-
Object
- Object
- Vertx::HttpClientRequest
- Includes:
- ReadStream, WriteStream
- Defined in:
- /Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb
Overview
Instances are created by an HttpClient instance, via one of the methods corresponding to the specific HTTP methods, or the generic request methods. On creation the request will not have been written to the wire.
Once a request has been obtained, headers can be set on it, and data can be written to its body if required. Once you are ready to send the request, one of the #end methods should be called.
Nothing is actually sent until the request has been internally assigned an HTTP connection.
The HttpClient instance will return an instance of this class immediately, even if there are no HTTP connections available in the pool. Any requests sent before a connection is assigned will be queued internally and actually sent when an HTTP connection becomes available from the pool.
The headers of the request are queued for writing either when the #end method is called, or, when the first part of the body is written, whichever occurs first.
This class supports both chunked and non-chunked HTTP.
It implements WriteStream so it can be used with Pump to pump data with flow control.
An example of using this class is as follows:
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)
-
- (String) absolute_uri
The absolute URI corresponding to the the HTTP request.
-
- (true, false) chunked?
Is the request chunked?.
-
- (::Vertx::HttpConnection) connection
The HttpConnection associated with this request.
-
- (self) connection_handler { ... }
Set a connection handler called when an HTTP connection has been established.
-
- (self) continue_handler { ... }
If you send an HTTP request with the header Expect set to the value 100-continue and the server responds with an interim HTTP response with a status code of 100 and a continue handler has been set using this method, then the handler will be called.
- - (self) drain_handler { ... }
-
- (void) end(param_1 = nil, param_2 = nil)
Same as #end but writes a String with the specified encoding.
- - (self) end_handler { ... }
- - (self) exception_handler { ... }
-
- (String) get_host
The request host.
-
- (String) get_raw_method
The raw value of the method this request sends.
- - (self) handler { ... }
-
- (::Vertx::MultiMap) headers
The HTTP headers.
-
- (:OPTIONS, ...) method
The HTTP method for the request.
-
- (String) path
The path part of the uri.
- - (self) pause
-
- (self) push_handler { ... }
Set a push handler for this request.
-
- (self) put_header(name = nil, value = nil)
Put an HTTP header.
-
- (String) query
The query part of the uri.
-
- (true, false) reset(code = nil)
Reset this request: for HTTP/2, this performs send an HTTP/2 reset frame with the specified error code for HTTP/1.x, this closes the connection after the current in-flight requests are ended When the request has not yet been sent, the request will be aborted and false is returned as indicator.
- - (self) resume
-
- (self) send_head { ... }
Like #send_head but with an handler after headers have been sent.
-
- (self) set_chunked(chunked = nil)
If chunked is true then the request will be set into HTTP chunked mode.
- - (self) set_follow_redirects(followRedirects = nil)
-
- (self) set_host(host = nil)
Set the request host.
-
- (self) set_raw_method(method = nil)
Set the value the method to send when the method is used.
-
- (self) set_timeout(timeoutMs = nil)
Set's the amount of time after which if the request does not return any data within the timeout period an TimeoutException will be passed to the exception handler (if provided) and the request will be closed.
- - (self) set_write_queue_max_size(maxSize = nil)
-
- (Fixnum) stream_id
The id of the stream of this response, when it is not yet determined, i.e the request has not been yet sent or it is not supported HTTP/1.x.
-
- (String) uri
The URI of the request.
-
- (self) write(param_1 = nil, param_2 = nil)
Write a String to the request body, encoded using the encoding enc.
-
- (self) write_custom_frame(param_1 = nil, param_2 = nil, param_3 = nil)
Write an HTTP/2 frame to the request, allowing to extend the HTTP/2 protocol.
-
- (true, false) write_queue_full
This will return true if there are more bytes in the write queue than the value set using #set_write_queue_max_size.
Class Method Details
+ (Boolean) accept?(obj)
50 51 52 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 50 def @@j_api_type.accept?(obj) obj.class == HttpClientRequest end |
+ (Object) j_api_type
59 60 61 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 59 def self.j_api_type @@j_api_type end |
+ (Object) j_class
62 63 64 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 62 def self.j_class Java::IoVertxCoreHttp::HttpClientRequest.java_class end |
+ (Object) unwrap(obj)
56 57 58 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 56 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
53 54 55 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 53 def @@j_api_type.wrap(obj) HttpClientRequest.new(obj) end |
Instance Method Details
- (String) absolute_uri
208 209 210 211 212 213 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 208 def absolute_uri if !block_given? return @j_del.java_method(:absoluteURI, []).call() end raise ArgumentError, "Invalid arguments when calling absolute_uri()" end |
- (true, false) chunked?
176 177 178 179 180 181 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 176 def chunked? if !block_given? return @j_del.java_method(:isChunked, []).call() end raise ArgumentError, "Invalid arguments when calling chunked?()" end |
- (::Vertx::HttpConnection) connection
386 387 388 389 390 391 392 393 394 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 386 def connection if !block_given? if @cached_connection != nil return @cached_connection end return @cached_connection = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:connection, []).call(),::Vertx::HttpConnection) end raise ArgumentError, "Invalid arguments when calling connection()" end |
- (self) connection_handler { ... }
398 399 400 401 402 403 404 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 398 def connection_handler if block_given? @j_del.java_method(:connectionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::HttpConnection)) })) return self end raise ArgumentError, "Invalid arguments when calling connection_handler()" end |
- (self) continue_handler { ... }
Expect
set to the value 100-continue
and the server responds with an interim HTTP response with a status code of 100
and a continue handler
has been set using this method, then the handler
will be called.
You can then continue to write data to the request body and later end it. This is normally used in conjunction with the #send_head method to force the request header to be written before the request has ended.
283 284 285 286 287 288 289 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 283 def continue_handler if block_given? @j_del.java_method(:continueHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling continue_handler()" end |
- (self) drain_handler { ... }
115 116 117 118 119 120 121 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 115 def drain_handler if block_given? @j_del.java_method(:drainHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling drain_handler()" end |
- (void) end - (void) end(chunk) - (void) end(chunk) - (void) end(chunk, enc)
This method returns an undefined value.
Same as #end but writes a String with the specified encoding
314 315 316 317 318 319 320 321 322 323 324 325 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 314 def end(param_1=nil,param_2=nil) if !block_given? && param_1 == nil && param_2 == nil return @j_del.java_method(:end, []).call() elsif param_1.class == String && !block_given? && param_2 == nil return @j_del.java_method(:end, [Java::java.lang.String.java_class]).call(param_1) elsif param_1.class.method_defined?(:j_del) && !block_given? && param_2 == nil return @j_del.java_method(:end, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(param_1.j_del) elsif param_1.class == String && param_2.class == String && !block_given? return @j_del.java_method(:end, [Java::java.lang.String.java_class,Java::java.lang.String.java_class]).call(param_1,param_2) end raise ArgumentError, "Invalid arguments when calling end(#{param_1},#{param_2})" end |
- (self) end_handler { ... }
149 150 151 152 153 154 155 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 149 def end_handler if block_given? @j_del.java_method(:endHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling end_handler()" end |
- (self) exception_handler { ... }
75 76 77 78 79 80 81 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 75 def exception_handler if block_given? @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) })) return self end raise ArgumentError, "Invalid arguments when calling exception_handler()" end |
- (String) get_host
248 249 250 251 252 253 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 248 def get_host if !block_given? return @j_del.java_method(:getHost, []).call() end raise ArgumentError, "Invalid arguments when calling get_host()" end |
- (String) get_raw_method
191 192 193 194 195 196 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 191 def get_raw_method if !block_given? return @j_del.java_method(:getRawMethod, []).call() end raise ArgumentError, "Invalid arguments when calling get_raw_method()" end |
- (self) handler { ... }
124 125 126 127 128 129 130 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 124 def handler if block_given? @j_del.java_method(:handler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::HttpClientResponse)) })) return self end raise ArgumentError, "Invalid arguments when calling handler()" end |
- (::Vertx::MultiMap) headers
255 256 257 258 259 260 261 262 263 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 255 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 raise ArgumentError, "Invalid arguments when calling headers()" end |
- (:OPTIONS, ...) method
184 185 186 187 188 189 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 184 def method if !block_given? return @j_del.java_method(:method, []).call().name.intern end raise ArgumentError, "Invalid arguments when calling method()" end |
- (String) path
222 223 224 225 226 227 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 222 def path if !block_given? return @j_del.java_method(:path, []).call() end raise ArgumentError, "Invalid arguments when calling path()" end |
- (self) pause
132 133 134 135 136 137 138 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 132 def pause if !block_given? @j_del.java_method(:pause, []).call() return self end raise ArgumentError, "Invalid arguments when calling pause()" end |
- (self) push_handler { ... }
359 360 361 362 363 364 365 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 359 def push_handler if block_given? @j_del.java_method(:pushHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::HttpClientRequest)) })) return self end raise ArgumentError, "Invalid arguments when calling push_handler()" end |
- (self) put_header(name = nil, value = nil)
268 269 270 271 272 273 274 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 268 def put_header(name=nil,value=nil) if name.class == String && value.class == String && !block_given? @j_del.java_method(:putHeader, [Java::java.lang.String.java_class,Java::java.lang.String.java_class]).call(name,value) return self end raise ArgumentError, "Invalid arguments when calling put_header(#{name},#{value})" end |
- (String) query
229 230 231 232 233 234 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 229 def query if !block_given? return @j_del.java_method(:query, []).call() end raise ArgumentError, "Invalid arguments when calling query()" end |
- (true, false) reset(code = nil)
- for HTTP/2, this performs send an HTTP/2 reset frame with the specified error
code
- for HTTP/1.x, this closes the connection after the current in-flight requests are ended
377 378 379 380 381 382 383 384 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 377 def reset(code=nil) if !block_given? && code == nil return @j_del.java_method(:reset, []).call() elsif code.class == Fixnum && !block_given? return @j_del.java_method(:reset, [Java::long.java_class]).call(code) end raise ArgumentError, "Invalid arguments when calling reset(#{code})" end |
- (self) resume
140 141 142 143 144 145 146 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 140 def resume if !block_given? @j_del.java_method(:resume, []).call() return self end raise ArgumentError, "Invalid arguments when calling resume()" end |
- (self) send_head { ... }
294 295 296 297 298 299 300 301 302 303 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 294 def send_head if !block_given? @j_del.java_method(:sendHead, []).call() return self elsif block_given? @j_del.java_method(:sendHead, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event.name.intern) })) return self end raise ArgumentError, "Invalid arguments when calling send_head()" end |
- (self) set_chunked(chunked = nil)
168 169 170 171 172 173 174 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 168 def set_chunked(chunked=nil) if (chunked.class == TrueClass || chunked.class == FalseClass) && !block_given? @j_del.java_method(:setChunked, [Java::boolean.java_class]).call(chunked) return self end raise ArgumentError, "Invalid arguments when calling set_chunked(#{chunked})" end |
- (self) set_follow_redirects(followRedirects = nil)
158 159 160 161 162 163 164 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 158 def set_follow_redirects(followRedirects=nil) if (followRedirects.class == TrueClass || followRedirects.class == FalseClass) && !block_given? @j_del.java_method(:setFollowRedirects, [Java::boolean.java_class]).call(followRedirects) return self end raise ArgumentError, "Invalid arguments when calling set_follow_redirects(#{followRedirects})" end |
- (self) set_host(host = nil)
240 241 242 243 244 245 246 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 240 def set_host(host=nil) if host.class == String && !block_given? @j_del.java_method(:setHost, [Java::java.lang.String.java_class]).call(host) return self end raise ArgumentError, "Invalid arguments when calling set_host(#{host})" end |
- (self) set_raw_method(method = nil)
200 201 202 203 204 205 206 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 200 def set_raw_method(method=nil) if method.class == String && !block_given? @j_del.java_method(:setRawMethod, [Java::java.lang.String.java_class]).call(method) return self end raise ArgumentError, "Invalid arguments when calling set_raw_method(#{method})" end |
- (self) set_timeout(timeoutMs = nil)
Calling this method more than once has the effect of canceling any existing timeout and starting the timeout from scratch.
334 335 336 337 338 339 340 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 334 def set_timeout(timeoutMs=nil) if timeoutMs.class == Fixnum && !block_given? @j_del.java_method(:setTimeout, [Java::long.java_class]).call(timeoutMs) return self end raise ArgumentError, "Invalid arguments when calling set_timeout(#{timeoutMs})" end |
- (self) set_write_queue_max_size(maxSize = nil)
106 107 108 109 110 111 112 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 106 def set_write_queue_max_size(maxSize=nil) if maxSize.class == Fixnum && !block_given? @j_del.java_method(:setWriteQueueMaxSize, [Java::int.java_class]).call(maxSize) return self end raise ArgumentError, "Invalid arguments when calling set_write_queue_max_size(#{maxSize})" end |
- (Fixnum) stream_id
429 430 431 432 433 434 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 429 def stream_id if !block_given? return @j_del.java_method(:streamId, []).call() end raise ArgumentError, "Invalid arguments when calling stream_id()" end |
- (String) uri
215 216 217 218 219 220 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 215 def uri if !block_given? return @j_del.java_method(:uri, []).call() end raise ArgumentError, "Invalid arguments when calling uri()" end |
- (self) write(data) - (self) write(chunk) - (self) write(chunk, enc)
enc
.
91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 91 def write(param_1=nil,param_2=nil) if param_1.class.method_defined?(:j_del) && !block_given? && param_2 == nil @j_del.java_method(:write, [Java::IoVertxCoreBuffer::Buffer.java_class]).call(param_1.j_del) return self elsif param_1.class == String && !block_given? && param_2 == nil @j_del.java_method(:write, [Java::java.lang.String.java_class]).call(param_1) return self elsif param_1.class == String && param_2.class == String && !block_given? @j_del.java_method(:write, [Java::java.lang.String.java_class,Java::java.lang.String.java_class]).call(param_1,param_2) return self end raise ArgumentError, "Invalid arguments when calling write(#{param_1},#{param_2})" end |
- (self) writeCustomFrame(frame) - (self) writeCustomFrame(type, flags, payload)
The frame is sent immediatly and is not subject to flow control.
This method must be called after the request headers have been sent and only for the protocol HTTP/2. The #send_head should be used for this purpose.
418 419 420 421 422 423 424 425 426 427 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 418 def write_custom_frame(param_1=nil,param_2=nil,param_3=nil) if param_1.class.method_defined?(:j_del) && !block_given? && param_2 == nil && param_3 == nil @j_del.java_method(:writeCustomFrame, [Java::IoVertxCoreHttp::HttpFrame.java_class]).call(param_1.j_del) return self elsif param_1.class == Fixnum && param_2.class == Fixnum && param_3.class.method_defined?(:j_del) && !block_given? @j_del.java_method(:writeCustomFrame, [Java::int.java_class,Java::int.java_class,Java::IoVertxCoreBuffer::Buffer.java_class]).call(param_1,param_2,param_3.j_del) return self end raise ArgumentError, "Invalid arguments when calling write_custom_frame(#{param_1},#{param_2},#{param_3})" end |
- (true, false) write_queue_full
true
if there are more bytes in the write queue than the value set using #set_write_queue_max_size
67 68 69 70 71 72 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 67 def write_queue_full if !block_given? return @j_del.java_method(:writeQueueFull, []).call() end raise ArgumentError, "Invalid arguments when calling write_queue_full()" end |