Class: Vertx::HttpConnection
- Inherits:
-
Object
- Object
- Vertx::HttpConnection
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb
Overview
Represents an HTTP connection.
HTTP/1.x connection provides an limited implementation, the following methods are implemented:
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)
-
- (::Vertx::Future) close
Close the connection and all the currently active streams.
-
- (self) closeHandler(handler) { ... }
Set a close handler.
-
- (self) exceptionHandler(handler) { ... }
Set an handler called when a connection error happens.
-
- (Fixnum) getWindowSize
The current connection window size or -1 for HTTP/1.x.
-
- (self) go_away(*args)
Send a go away frame to the remote endpoint of the connection.
-
- (self) goAwayHandler(handler) { ... }
Set an handler called when a frame is received.
-
- (String) indicatedServerName
Returns the SNI server name presented during the SSL handshake by the client.
-
- (::Vertx::SocketAddress) localAddress
The remote address for this connection.
-
- (self) ping(data, pongHandler) { ... }
Send a frame to the remote endpoint.
-
- (self) pingHandler(handler) { ... }
Set an handler notified when a frame is received from the remote endpoint.
-
- (::Vertx::SocketAddress) remoteAddress
The remote address for this connection.
-
- (Hash{String => Object}) remoteSettings
The current remote endpoint settings for this connection - this is not implemented for HTTP/1.x.
-
- (self) remoteSettingsHandler(handler) { ... }
Set an handler that is called when remote endpoint => Object} are updated.
-
- (self) setWindowSize(windowSize)
Update the current connection wide window size to a new size.
-
- (Hash{String => Object}) settings
The latest server settings acknowledged by the remote endpoint - this is not implemented for HTTP/1.x.
-
- (self) shutdown(*args)
Initiate a connection shutdown, a go away frame is sent and the connection is closed when all current streams will be closed or the timeout is fired.
-
- (self) shutdownHandler(handler) { ... }
Set an handler called when a frame has been sent or received and all connections are closed.
-
- (true, false) isSsl
True if this HttpConnection is encrypted via SSL/TLS.
-
- (self) updateSettings(settings, completionHandler) { ... }
Send to the remote endpoint an update of this endpoint settings The completionHandler will be notified when the remote endpoint has acknowledged the settings.
Class Method Details
+ (Boolean) accept?(obj)
28 29 30 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 28 def @@j_api_type.accept?(obj) obj.class == HttpConnection end |
+ (Object) j_api_type
37 38 39 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 37 def self.j_api_type @@j_api_type end |
+ (Object) j_class
40 41 42 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 40 def self.j_class Java::IoVertxCoreHttp::HttpConnection.java_class end |
+ (Object) unwrap(obj)
34 35 36 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 34 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
31 32 33 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 31 def @@j_api_type.wrap(obj) HttpConnection.new(obj) end |
Instance Method Details
- (::Vertx::Future) close
Close the connection and all the currently active streams.
An HTTP/2 connection will send a frame before.
315 316 317 318 319 320 321 322 323 324 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 315 def close if !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:close, []).call(),::Vertx::Future, nil) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling close()" end end |
- (self) closeHandler(handler) { ... }
Set a close handler. The handler will get notified when the connection is closed.
191 192 193 194 195 196 197 198 199 200 201 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 191 def close_handler if true @j_del.java_method(:closeHandler, [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 close_handler()" end end |
- (self) exceptionHandler(handler) { ... }
Set an handler called when a connection error happens
299 300 301 302 303 304 305 306 307 308 309 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 299 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 |
- (Fixnum) getWindowSize
Returns the current connection window size or
-1 for HTTP/1.x
57 58 59 60 61 62 63 64 65 66 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 57 def get_window_size if !block_given? return @j_del.java_method(:getWindowSize, []).call() end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling get_window_size()" end end |
- (self) goAway(errorCode) - (self) goAway(errorCode, lastStreamId) - (self) goAway(errorCode, lastStreamId, debugData)
Send a go away frame to the remote endpoint of the connection.
- a frame is sent to the to the remote endpoint with the
errorCodeanddebugData - any stream created after the stream identified by
lastStreamIdwill be closed - for an is different than
0when all the remaining streams are closed this connection will be closed automatically
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 127 def go_away(*args) if args[0].class == Fixnum && !block_given? && args[1] == nil && args[2] == nil @j_del.java_method(:goAway, [Java::long.java_class]).call(args[0]) return self elsif args[0].class == Fixnum && args[1].class == Fixnum && !block_given? && args[2] == nil @j_del.java_method(:goAway, [Java::long.java_class,Java::int.java_class]).call(args[0],args[1]) return self elsif args[0].class == Fixnum && args[1].class == Fixnum && args[2].class.method_defined?(:j_del) && !block_given? @j_del.java_method(:goAway, [Java::long.java_class,Java::int.java_class,Java::IoVertxCoreBuffer::Buffer.java_class]).call(args[0],args[1],args[2].j_del) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling go_away(#{args[0]},#{args[1]},#{args[2]})" end end |
- (self) goAwayHandler(handler) { ... }
Set an handler called when a frame is received.
This is not implemented for HTTP/1.x.
97 98 99 100 101 102 103 104 105 106 107 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 97 def go_away_handler if true @j_del.java_method(:goAwayHandler, [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 go_away_handler()" end end |
- (String) indicatedServerName
Returns the SNI server name presented during the SSL handshake by the client.
217 218 219 220 221 222 223 224 225 226 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 217 def indicated_server_name if !block_given? return @j_del.java_method(:indicatedServerName, []).call() end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling indicated_server_name()" end end |
- (::Vertx::SocketAddress) localAddress
Returns the remote address for this connection
229 230 231 232 233 234 235 236 237 238 239 240 241 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 229 def local_address if !block_given? if @cached_local_address != nil return @cached_local_address end return @cached_local_address = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:localAddress, []).call(),::Vertx::SocketAddress) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling local_address()" end end |
- (self) ping(data, pongHandler) { ... }
Send a frame to the remote endpoint.
This is not implemented for HTTP/1.x.
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 74 def ping(*args) if args[0].class.method_defined?(:j_del) && true if (block_given?) @j_del.java_method(:ping, [Java::IoVertxCoreBuffer::Buffer.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 ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Buffer) : nil) } : promise) return self else promise = ::Vertx::Util::Utils.promise @j_del.java_method(:ping, [Java::IoVertxCoreBuffer::Buffer.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 ? ::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 ping(#{args[0]})" end end |
- (self) pingHandler(handler) { ... }
Set an handler notified when a frame is received from the remote endpoint.
This is not implemented for HTTP/1.x.
150 151 152 153 154 155 156 157 158 159 160 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 150 def ping_handler if true @j_del.java_method(:pingHandler, [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 ping_handler()" end end |
- (::Vertx::SocketAddress) remoteAddress
Returns the remote address for this connection
327 328 329 330 331 332 333 334 335 336 337 338 339 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 327 def remote_address if !block_given? if @cached_remote_address != nil return @cached_remote_address end return @cached_remote_address = ::Vertx::Util::Utils.safe_create(@j_del.java_method(:remoteAddress, []).call(),::Vertx::SocketAddress) end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling remote_address()" end end |
- (Hash{String => Object}) remoteSettings
Returns the current remote endpoint settings for this connection - this is not implemented for HTTP/1.x
204 205 206 207 208 209 210 211 212 213 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 204 def remote_settings if !block_given? return @j_del.java_method(:remoteSettings, []).call() != nil ? JSON.parse(@j_del.java_method(:remoteSettings, []).call().toJson.encode) : nil end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling remote_settings()" end end |
- (self) remoteSettingsHandler(handler) { ... }
Set an handler that is called when remote endpoint => Object} are updated.
This is not implemented for HTTP/1.x.
265 266 267 268 269 270 271 272 273 274 275 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 265 def remote_settings_handler if true @j_del.java_method(:remoteSettingsHandler, [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 remote_settings_handler()" end end |
- (self) setWindowSize(windowSize)
Update the current connection wide window size to a new size.
Increasing this value, gives better performance when several data streams are multiplexed
This is not implemented for HTTP/1.x.
284 285 286 287 288 289 290 291 292 293 294 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 284 def set_window_size(*args) if args[0].class == Fixnum && !block_given? @j_del.java_method(:setWindowSize, [Java::int.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling set_window_size(#{args[0]})" end end |
- (Hash{String => Object}) settings
Returns the latest server settings acknowledged by the remote endpoint - this is not implemented for HTTP/1.x
45 46 47 48 49 50 51 52 53 54 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 45 def settings if !block_given? return @j_del.java_method(:settings, []).call() != nil ? JSON.parse(@j_del.java_method(:settings, []).call().toJson.encode) : nil end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling settings()" end end |
- (self) shutdown - (self) shutdown(timeoutMs)
Initiate a connection shutdown, a go away frame is sent and the connection is closed when all current streams
will be closed or the
timeout is fired.
This is not implemented for HTTP/1.x.
348 349 350 351 352 353 354 355 356 357 358 359 360 361 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 348 def shutdown(*args) if !block_given? && args[0] == nil @j_del.java_method(:shutdown, []).call() return self elsif args[0].class == Fixnum && !block_given? @j_del.java_method(:shutdown, [Java::long.java_class]).call(args[0]) return self end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling shutdown(#{args[0]})" end end |
- (self) shutdownHandler(handler) { ... }
Set an handler called when a frame has been sent or received and all connections are closed.
This is not implemented for HTTP/1.x.
248 249 250 251 252 253 254 255 256 257 258 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 248 def shutdown_handler if true @j_del.java_method(:shutdownHandler, [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 shutdown_handler()" end end |
- (true, false) isSsl
Returns true if this Vertx::HttpConnection is encrypted via SSL/TLS.
364 365 366 367 368 369 370 371 372 373 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 364 def ssl? if !block_given? return @j_del.java_method(:isSsl, []).call() end if defined?(super) super else raise ArgumentError, "Invalid arguments when calling ssl?()" end end |
- (self) updateSettings(settings, completionHandler) { ... }
Send to the remote endpoint an update of this endpoint settings
The
completionHandler will be notified when the remote endpoint has acknowledged the settings.
This is not implemented for HTTP/1.x.
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 170 def update_settings(*args) if args[0].class == Hash && true if (block_given?) @j_del.java_method(:updateSettings, [Java::IoVertxCoreHttp::Http2Settings.java_class,Java::IoVertxCore::Handler.java_class]).call(Java::IoVertxCoreHttp::Http2Settings.new(::Vertx::Util::Utils.to_json_object(args[0])),block_given? ? Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? nil : nil) } : promise) return self else promise = ::Vertx::Util::Utils.promise @j_del.java_method(:updateSettings, [Java::IoVertxCoreHttp::Http2Settings.java_class,Java::IoVertxCore::Handler.java_class]).call(Java::IoVertxCoreHttp::Http2Settings.new(::Vertx::Util::Utils.to_json_object(args[0])),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 update_settings(#{args[0]})" end end |