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
errorCode
anddebugData
- any stream created after the stream identified by
lastStreamId
will be closed - for an is different than
0
when 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 |