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:
Instance Method Summary (collapse)
-
- (true, false) chunked?
@return Is the request chunked?.
-
- (::Vertx::HttpConnection) connection
@return 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
@return the request host.
-
- (String) get_raw_method
@return the raw value of the method this request sends.
- - (self) handler { ... }
-
- (::Vertx::MultiMap) headers
@return The HTTP headers.
-
- (:OPTIONS, ...) method
The HTTP method for the request.
-
- (String) path
@return 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
@return the query part of the uri.
-
- (void) reset(code = nil)
Reset this stream with the error code.
- - (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_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
@return 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
@return 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.
Instance Method Details
- (true, false) chunked?
152 153 154 155 156 157 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 152 def chunked? if !block_given? return @j_del.java_method(:isChunked, []).call() end raise ArgumentError, "Invalid arguments when calling chunked?()" end |
- (::Vertx::HttpConnection) connection
354 355 356 357 358 359 360 361 362 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 354 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 { ... }
366 367 368 369 370 371 372 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 366 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.
258 259 260 261 262 263 264 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 258 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 { ... }
99 100 101 102 103 104 105 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 99 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
289 290 291 292 293 294 295 296 297 298 299 300 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 289 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 { ... }
133 134 135 136 137 138 139 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 133 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 { ... }
59 60 61 62 63 64 65 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 59 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
222 223 224 225 226 227 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 222 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
168 169 170 171 172 173 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 168 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 { ... }
108 109 110 111 112 113 114 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 108 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
230 231 232 233 234 235 236 237 238 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 230 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
160 161 162 163 164 165 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 160 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
194 195 196 197 198 199 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 194 def path if !block_given? return @j_del.java_method(:path, []).call() end raise ArgumentError, "Invalid arguments when calling path()" end |
- (self) pause
116 117 118 119 120 121 122 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 116 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 { ... }
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 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)
243 244 245 246 247 248 249 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 243 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
202 203 204 205 206 207 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 202 def query if !block_given? return @j_del.java_method(:query, []).call() end raise ArgumentError, "Invalid arguments when calling query()" end |
- (void) reset(code = nil)
This method returns an undefined value.
Reset this stream with the errorcode
.
344 345 346 347 348 349 350 351 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 344 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
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 resume if !block_given? @j_del.java_method(:resume, []).call() return self end raise ArgumentError, "Invalid arguments when calling resume()" end |
- (self) send_head { ... }
269 270 271 272 273 274 275 276 277 278 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 269 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)
143 144 145 146 147 148 149 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 143 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_host(host = nil)
213 214 215 216 217 218 219 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 213 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)
177 178 179 180 181 182 183 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 177 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.
309 310 311 312 313 314 315 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 309 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)
90 91 92 93 94 95 96 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 90 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
399 400 401 402 403 404 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 399 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
186 187 188 189 190 191 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 186 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
.
75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 75 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.
386 387 388 389 390 391 392 393 394 395 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 386 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
51 52 53 54 55 56 |
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_client_request.rb', line 51 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 |