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)
-
- (void) close
Close the connection and all the currently active streams.
-
- (self) close_handler { ... }
Set a close handler.
-
- (self) exception_handler { ... }
Set an handler called when a connection error happens.
-
- (Fixnum) get_window_size
The current connection window size or -1 for HTTP/1.x.
-
- (self) go_away(errorCode = nil, lastStreamId = nil, debugData = nil)
Send a go away frame to the remote endpoint of the connection.
-
- (self) go_away_handler { ... }
Set an handler called when a frame is received.
-
- (String) indicated_server_name
Returns the SNI server name presented during the SSL handshake by the client.
-
- (::Vertx::SocketAddress) local_address
The remote address for this connection.
-
- (self) ping(data = nil) { ... }
Send a frame to the remote endpoint.
-
- (self) ping_handler { ... }
Set an handler notified when a frame is received from the remote endpoint.
-
- (::Vertx::SocketAddress) remote_address
The remote address for this connection.
-
- (Hash) remote_settings
The current remote endpoint settings for this connection - this is not implemented for HTTP/1.x.
-
- (self) remote_settings_handler { ... }
Set an handler that is called when remote endpoint Hash are updated.
-
- (self) set_window_size(windowSize = nil)
Update the current connection wide window size to a new size.
-
- (Hash) settings
The latest server settings acknowledged by the remote endpoint - this is not implemented for HTTP/1.x.
-
- (self) shutdown(timeoutMs = nil)
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) shutdown_handler { ... }
Set an handler called when a frame has been sent or received and all connections are closed.
-
- (true, false) ssl?
True if this HttpConnection is encrypted via SSL/TLS.
-
- (self) update_settings(settings = nil) { ... }
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)
26 27 28 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 26 def @@j_api_type.accept?(obj) obj.class == HttpConnection end |
+ (Object) j_api_type
35 36 37 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 35 def self.j_api_type @@j_api_type end |
+ (Object) j_class
38 39 40 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 38 def self.j_class Java::IoVertxCoreHttp::HttpConnection.java_class end |
+ (Object) unwrap(obj)
32 33 34 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 32 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
29 30 31 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 29 def @@j_api_type.wrap(obj) HttpConnection.new(obj) end |
Instance Method Details
- (void) close
This method returns an undefined value.
Close the connection and all the currently active streams. An HTTP/2 connection will send a frame before.
142 143 144 145 146 147 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 142 def close if !block_given? return @j_del.java_method(:close, []).call() end raise ArgumentError, "Invalid arguments when calling close()" end |
- (self) close_handler { ... }
Set a close handler. The handler will get notified when the connection is closed.
131 132 133 134 135 136 137 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 131 def close_handler if block_given? @j_del.java_method(:closeHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling close_handler()" end |
- (self) exception_handler { ... }
Set an handler called when a connection error happens
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 220 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 |
- (Fixnum) get_window_size
Returns the current connection window size or
-1 for HTTP/1.x
42 43 44 45 46 47 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 42 def get_window_size if !block_given? return @j_del.java_method(:getWindowSize, []).call() end raise ArgumentError, "Invalid arguments when calling get_window_size()" end |
- (self) go_away(errorCode = nil, lastStreamId = nil, debugData = nil)
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
75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 75 def go_away(errorCode=nil,lastStreamId=nil,debugData=nil) if errorCode.class == Fixnum && !block_given? && lastStreamId == nil && debugData == nil @j_del.java_method(:goAway, [Java::long.java_class]).call(errorCode) return self elsif errorCode.class == Fixnum && lastStreamId.class == Fixnum && !block_given? && debugData == nil @j_del.java_method(:goAway, [Java::long.java_class,Java::int.java_class]).call(errorCode,lastStreamId) return self elsif errorCode.class == Fixnum && lastStreamId.class == Fixnum && debugData.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(errorCode,lastStreamId,debugData.j_del) return self end raise ArgumentError, "Invalid arguments when calling go_away(#{errorCode},#{lastStreamId},#{debugData})" end |
- (self) go_away_handler { ... }
Set an handler called when a frame is received.
This is not implemented for HTTP/1.x.
93 94 95 96 97 98 99 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 93 def go_away_handler if block_given? @j_del.java_method(:goAwayHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event != nil ? JSON.parse(event.toJson.encode) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling go_away_handler()" end |
- (String) indicated_server_name
Returns the SNI server name presented during the SSL handshake by the client.
256 257 258 259 260 261 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 256 def indicated_server_name if !block_given? return @j_del.java_method(:indicatedServerName, []).call() end raise ArgumentError, "Invalid arguments when calling indicated_server_name()" end |
- (::Vertx::SocketAddress) local_address
Returns the remote address for this connection
238 239 240 241 242 243 244 245 246 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 238 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 raise ArgumentError, "Invalid arguments when calling local_address()" end |
- (self) ping(data = nil) { ... }
Send a frame to the remote endpoint.
This is not implemented for HTTP/1.x.
198 199 200 201 202 203 204 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 198 def ping(data=nil) if data.class.method_defined?(:j_del) && block_given? @j_del.java_method(:ping, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(data.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Buffer) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling ping(#{data})" end |
- (self) ping_handler { ... }
Set an handler notified when a frame is received from the remote endpoint.
This is not implemented for HTTP/1.x.
210 211 212 213 214 215 216 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 210 def ping_handler if block_given? @j_del.java_method(:pingHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) })) return self end raise ArgumentError, "Invalid arguments when calling ping_handler()" end |
- (::Vertx::SocketAddress) remote_address
Returns the remote address for this connection
228 229 230 231 232 233 234 235 236 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 228 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 raise ArgumentError, "Invalid arguments when calling remote_address()" end |
- (Hash) remote_settings
Returns the current remote endpoint settings for this connection - this is not implemented for HTTP/1.x
174 175 176 177 178 179 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 174 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 raise ArgumentError, "Invalid arguments when calling remote_settings()" end |
- (self) remote_settings_handler { ... }
Set an handler that is called when remote endpoint Hash are updated.
This is not implemented for HTTP/1.x.
185 186 187 188 189 190 191 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 185 def remote_settings_handler if block_given? @j_del.java_method(:remoteSettingsHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event != nil ? JSON.parse(event.toJson.encode) : nil) })) return self end raise ArgumentError, "Invalid arguments when calling remote_settings_handler()" end |
- (self) set_window_size(windowSize = nil)
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.
55 56 57 58 59 60 61 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 55 def set_window_size(windowSize=nil) if windowSize.class == Fixnum && !block_given? @j_del.java_method(:setWindowSize, [Java::int.java_class]).call(windowSize) return self end raise ArgumentError, "Invalid arguments when calling set_window_size(#{windowSize})" end |
- (Hash) settings
Returns the latest server settings acknowledged by the remote endpoint - this is not implemented for HTTP/1.x
149 150 151 152 153 154 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 149 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 raise ArgumentError, "Invalid arguments when calling settings()" end |
- (self) shutdown(timeoutMs = nil)
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.
118 119 120 121 122 123 124 125 126 127 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 118 def shutdown(timeoutMs=nil) if !block_given? && timeoutMs == nil @j_del.java_method(:shutdown, []).call() return self elsif timeoutMs.class == Fixnum && !block_given? @j_del.java_method(:shutdown, [Java::long.java_class]).call(timeoutMs) return self end raise ArgumentError, "Invalid arguments when calling shutdown(#{timeoutMs})" end |
- (self) shutdown_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.
105 106 107 108 109 110 111 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 105 def shutdown_handler if block_given? @j_del.java_method(:shutdownHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield }) return self end raise ArgumentError, "Invalid arguments when calling shutdown_handler()" end |
- (true, false) ssl?
Returns true if this Vertx::HttpConnection is encrypted via SSL/TLS.
248 249 250 251 252 253 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 248 def ssl? if !block_given? return @j_del.java_method(:isSsl, []).call() end raise ArgumentError, "Invalid arguments when calling ssl?()" end |
- (self) update_settings(settings = nil) { ... }
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.
163 164 165 166 167 168 169 170 171 172 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/http_connection.rb', line 163 def update_settings(settings=nil) if settings.class == Hash && !block_given? @j_del.java_method(:updateSettings, [Java::IoVertxCoreHttp::Http2Settings.java_class]).call(Java::IoVertxCoreHttp::Http2Settings.new(::Vertx::Util::Utils.to_json_object(settings))) return self elsif settings.class == Hash && 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(settings)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) })) return self end raise ArgumentError, "Invalid arguments when calling update_settings(#{settings})" end |