Class: Vertx::HttpClient
- Inherits:
-
Object
- Object
- Vertx::HttpClient
- Includes:
- SSLSupport, TCPSupport
- Defined in:
- src/main/ruby_scripts/core/http.rb
Overview
An HTTP client. A client maintains a pool of connections to a specific host, at a specific port. The HTTP connections can act as pipelines for HTTP requests. It is used as a factory for HttpClientRequest instances which encapsulate the actual HTTP requests. It is also used as a factory for HTML5 websockets.
Instance Method Summary (collapse)
-
- (Object) close
Close the client.
-
- (Object) connect(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP CONNECT request with the specified uri.
-
- (Object) connect_web_socket(uri, &hndlr)
Attempt to connect an HTML5 websocket to the specified URI.
-
- (Object) delete(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP DELETE request with the specified uri.
-
- (Object) exception_handler(proc = nil, &hndlr)
Set the exception handler.
-
- (Object) get(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP GET request with the specified uri.
-
- (Object) get_now(uri, headers = nil, &hndlr)
This is a quick version of the #get method where you do not want to do anything with the request before sending.
-
- (Object) head(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP HEAD request with the specified uri.
-
- (Object) host=(val)
Set the host name or ip address that the client will attempt to connect to on the server on.
-
- (HttpClient) initialize
constructor
Create a new HttpClient.
-
- (Object) keep_alive=(val)
If val is true then, after the request has ended the connection will be returned to the pool where it can be used by another request.
-
- (FixNum) max_pool_size
The maxium number of connections this client will pool.
-
- (Object) max_pool_size=(val)
Set the maximum pool size.
-
- (Object) options(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP OPTIONS request with the specified uri.
-
- (Object) patch(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP PATCH request with the specified uri.
-
- (Object) port=(val)
Set the port that the client will attempt to connect to on the server on.
-
- (Object) post(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP POST request with the specified uri.
-
- (Object) put(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP PUT request with the specified uri.
-
- (Object) request(method, uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP request with the specified method and uri.
-
- (Object) trace(uri, &hndlr)
This method returns an HttpClientRequest instance which represents an HTTP TRACE request with the specified uri.
-
- (Object) trust_all=(val)
Should the client trust ALL server certificates? against it’s local client trust store.
Methods included from SSLSupport
#key_store_password=, #key_store_path=, #ssl=, #trust_store_password=, #trust_store_path=
Methods included from TCPSupport
#receive_buffer_size=, #reuse_address=, #send_buffer_size=, #so_linger=, #tcp_keep_alive=, #traffic_class=
Constructor Details
- (HttpClient) initialize
Create a new HttpClient
96 97 98 |
# File 'src/main/ruby_scripts/core/http.rb', line 96 def initialize @j_del = org.vertx.java.deploy.impl.VertxLocator.vertx.createHttpClient end |
Instance Method Details
- (Object) close
Close the client. Any unclosed connections will be closed.
259 260 261 |
# File 'src/main/ruby_scripts/core/http.rb', line 259 def close @j_del.close end |
- (Object) connect(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP CONNECT request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
237 238 239 |
# File 'src/main/ruby_scripts/core/http.rb', line 237 def connect(uri, &hndlr) HttpClientRequest.new(@j_del.connect(uri, resp_handler(hndlr))) end |
- (Object) connect_web_socket(uri, &hndlr)
Attempt to connect an HTML5 websocket to the specified URI. The connect is done asynchronously and the handler is called with a WebSocket on success.
161 162 163 |
# File 'src/main/ruby_scripts/core/http.rb', line 161 def connect_web_socket(uri, &hndlr) @j_del.connectWebsocket(uri) { |j_ws| hndlr.call(WebSocket.new(j_ws)) } end |
- (Object) delete(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP DELETE request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
221 222 223 |
# File 'src/main/ruby_scripts/core/http.rb', line 221 def delete(uri, &hndlr) HttpClientRequest.new(@j_del.delete(uri, resp_handler(hndlr))) end |
- (Object) exception_handler(proc = nil, &hndlr)
Set the exception handler.
103 104 105 106 107 |
# File 'src/main/ruby_scripts/core/http.rb', line 103 def exception_handler(proc = nil, &hndlr) hndlr = proc if proc @j_del.exceptionHandler(hndlr) self end |
- (Object) get(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP GET request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
189 190 191 |
# File 'src/main/ruby_scripts/core/http.rb', line 189 def get(uri, &hndlr) HttpClientRequest.new(@j_del.get(uri, resp_handler(hndlr))) end |
- (Object) get_now(uri, headers = nil, &hndlr)
This is a quick version of the #get method where you do not want to do anything with the request before sending. Normally with any of the HTTP methods you create the request then when you are ready to send it you call Vertx::HttpClientRequest#end on it. With this method the request is immediately sent. When an HTTP response is received from the server the handler is called passing in the response.
173 174 175 |
# File 'src/main/ruby_scripts/core/http.rb', line 173 def get_now(uri, headers = nil, &hndlr) @j_del.getNow(uri, headers, resp_handler(hndlr)) end |
- (Object) head(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP HEAD request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
197 198 199 |
# File 'src/main/ruby_scripts/core/http.rb', line 197 def head(uri, &hndlr) HttpClientRequest.new(@j_del.head(uri, resp_handler(hndlr))) end |
- (Object) host=(val)
Set the host name or ip address that the client will attempt to connect to on the server on.
152 153 154 155 |
# File 'src/main/ruby_scripts/core/http.rb', line 152 def host=(val) @j_del.setHost(val) self end |
- (Object) keep_alive=(val)
If val is true then, after the request has ended the connection will be returned to the pool where it can be used by another request. In this manner, many HTTP requests can be pipe-lined over an HTTP connection. Keep alive connections will not be closed until the #close method is invoked. If val is false then a new connection will be created for each request and it won’t ever go in the pool, the connection will closed after the response has been received. Even with no keep alive, the client will not allow more than #max_pool_size connections to be created at any one time.
129 130 131 132 |
# File 'src/main/ruby_scripts/core/http.rb', line 129 def keep_alive=(val) @j_del.setTCPKeepAlive(val) self end |
- (FixNum) max_pool_size
The maxium number of connections this client will pool.
118 119 120 |
# File 'src/main/ruby_scripts/core/http.rb', line 118 def max_pool_size @j_del.getMaxPoolSize end |
- (Object) max_pool_size=(val)
Set the maximum pool size. The client will maintain up to this number of HTTP connections in an internal pool
112 113 114 115 |
# File 'src/main/ruby_scripts/core/http.rb', line 112 def max_pool_size=(val) @j_del.setMaxPoolSize(val) self end |
- (Object) options(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP OPTIONS request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
181 182 183 |
# File 'src/main/ruby_scripts/core/http.rb', line 181 def (uri, &hndlr) HttpClientRequest.new(@j_del.(uri, resp_handler(hndlr))) end |
- (Object) patch(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP PATCH request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
245 246 247 |
# File 'src/main/ruby_scripts/core/http.rb', line 245 def patch(uri, &hndlr) HttpClientRequest.new(@j_del.patch(uri, resp_handler(hndlr))) end |
- (Object) port=(val)
Set the port that the client will attempt to connect to on the server on. The default value is 80
145 146 147 148 |
# File 'src/main/ruby_scripts/core/http.rb', line 145 def port=(val) @j_del.setPort(val) self end |
- (Object) post(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP POST request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
205 206 207 |
# File 'src/main/ruby_scripts/core/http.rb', line 205 def post(uri, &hndlr) HttpClientRequest.new(@j_del.post(uri, resp_handler(hndlr))) end |
- (Object) put(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP PUT request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
213 214 215 |
# File 'src/main/ruby_scripts/core/http.rb', line 213 def put(uri, &hndlr) HttpClientRequest.new(@j_del.put(uri, resp_handler(hndlr))) end |
- (Object) request(method, uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP request with the specified method and uri. When an HTTP response is received from the server the handler is called passing in the response.
254 255 256 |
# File 'src/main/ruby_scripts/core/http.rb', line 254 def request(method, uri, &hndlr) HttpClientRequest.new(@j_del.request(method, uri, resp_handler(hndlr))) end |
- (Object) trace(uri, &hndlr)
This method returns an Vertx::HttpClientRequest instance which represents an HTTP TRACE request with the specified uri. When an HTTP response is received from the server the handler is called passing in the response.
229 230 231 |
# File 'src/main/ruby_scripts/core/http.rb', line 229 def trace(uri, &hndlr) HttpClientRequest.new(@j_del.trace(uri, resp_handler(hndlr))) end |
- (Object) trust_all=(val)
Should the client trust ALL server certificates? against it’s local client trust store. The default value is false. Use this method with caution!
138 139 140 141 |
# File 'src/main/ruby_scripts/core/http.rb', line 138 def trust_all=(val) @j_del.setTrustAll(val) self end |