Movatterモバイル変換


[0]ホーム

URL:


Libraries »cheald/manticore(master) »Index (C) »Manticore »Client

Class: Manticore::Client

Inherits:
Object
  • Object
  • Manticore::Client
show all
Includes:
ProxiesInterface
Defined in:
lib/manticore/client.rb,
lib/manticore/client/proxies.rb,
lib/manticore/client/trust_strategies.rb

Overview

Core Manticore client, with a backingPoolingHttpClientConnectionManager

Defined Under Namespace

Modules:ProxiesInterface,TrustStrategiesClasses:AsyncProxy,BackgroundProxy,BaseProxy,CombinedTrustStrategy,CustomTrustStrategy,StubProxy

Constant Summarycollapse

DEFAULT_MAX_POOL_SIZE =

The default maximum pool size for requests

50
DEFAULT_REQUEST_TIMEOUT =
60
DEFAULT_SOCKET_TIMEOUT =
10
DEFAULT_CONNECT_TIMEOUT =
10
DEFAULT_MAX_REDIRECTS =
5
DEFAULT_EXPECT_CONTINUE =
false
DEFAULT_STALE_CHECK =
false

Instance Attribute Summarycollapse

Class Method Summarycollapse

Instance Method Summarycollapse

Methods included fromProxiesInterface

#async,#background,#respond_with

Constructor Details

#initialize(options = {}) {|builder, request_config| ... } ⇒Client

Create a new HTTP client with a backing request pool. if you pass a block to the initializer, the underlyingHttpClientBuilder andRequestConfig.Builder will be yielded so that you can operate on them directly.

Examples:

Simple instantiation and usage

client=Manticore::Client.newclient.get("http://www.google.com")

Instantiation with a block

client=Manticore::Client.new(socket_timeout:5)do|http_client_builder,request_builder|http_client_builder.disable_redirect_handlingend

Parameters:

  • options(Hash)(defaults to:{})

    Client pool options

Options Hash (options):

  • user_agent(String)

    The user agent used in requests.

  • pool_max(Integer) — default:50

    The maximum number of active connections in the pool

  • pool_max_per_route(integer) — default:pool_max

    Sets the maximum number of active connections for a given target endpoint

  • cookies(boolean) — default:true

    enable or disable automatic cookie management between requests

  • compression(boolean) — default:true

    enable or disable transparent gzip/deflate support

  • request_timeout(integer) — default:60

    Sets the timeout for requests. RaisesTimeout on failure.

  • connect_timeout(integer) — default:10

    Sets the timeout for connections. Raises Manticore::Timeout on failure.

  • socket_timeout(integer) — default:10

    Sets SO_TIMEOUT for open connections. A value of 0 is an infinite timeout. Raises Manticore::Timeout on failure.

  • tcp_no_delay(boolean) — default:true

    Enable or disable Nagle’s algorithm

  • max_redirects(integer) — default:5

    Sets the maximum number of redirects to follow.

  • automatic_retries(integer) — default:3

    Sets the number of times the client will automatically retry failed requests.

  • retry_non_idempotent(boolean) — default:false

    If true, Manticore will automatically retry failed requests with non-idempotent verbs. Otherwise, it only automatically retries on GET, HEAD, PUT, DELETE, OPTIONS, and TRACE

  • expect_continue(boolean) — default:false

    Enable support for HTTP 100

  • stale_check(boolean) — default:false

    Enable support for stale connection checking. Adds overhead.

  • check_connection_timeout(integer) — default:2_000

    Connections that haven’t been used in this many milliseconds will be validated before being used. Set to a negative number to disable.

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’[, user: ‘username@host’, password: ‘password’]]]

  • proxy(Hash)

    Proxy host in form: ‘proxy.org:1234’[, user: ‘username@host’, password: ‘password’]]]

  • proxy(URI)

    Proxy host as a URI object

  • keepalive(Boolean) — default:true

    Whether to allow connections to be reused. Defaults to true.

  • ssl(Hash)

    Hash of options for configuring SSL

  • ssl[:protocols](Array<String>) — default:nil

    A list of protocols that Manticore should accept

  • ssl[:cipher_suites](Array<String>) — default:nil

    A list of cipher suites that Manticore should accept

  • ssl[:verify](Symbol) — default::default

    Hostname verification setting. Set to ‘:none` to turn off hostname verification. Setting to `:browser` will cause Manticore to accept a certificate for *.foo.com for all subdomains and sub-subdomains (eg a.b.foo.com). The default `:default` is like `:browser` but more strict - only accepts a single level of subdomains for wildcards, eg `b.foo.com` will be accepted for a `*.foo.com` certificate, but `a.b.foo.com` will not be.

  • ssl[:trust_strategy](Client::TrustStrategiesInterface) — default:nil

    A trust strategy to use in addition to any built by ‘ssl`. @see Client::TrustStrategiesInterface#coerce

  • ssl[:truststore](String) — default:nil

    Path to a custom trust store to use the verifying SSL connections

  • ssl[:truststore_password](String) — default:nil

    Password used for decrypting the server trust store

  • ssl[:truststore_type](String) — default:nil

    Format of the trust store, ie “JKS” or “PKCS12”. If left nil, the type will be inferred from the truststore filename.

  • ssl[:keystore](String) — default:nil

    Path to a custom key store to use for client certificate authentication

  • ssl[:keystore_password](String) — default:nil

    Password used for decrypting the client auth key store

  • ssl[:keystore_type](String) — default:nil

    Format of the key store, ie “JKS” or “PKCS12”. If left nil, the type will be inferred from the keystore filename.

  • ssl[:ca_file](String) — default:nil

    OpenSSL-style path to an X.509 certificate to use to validate SSL certificates

  • ssl[:client_cert](String|OpenSSL::X509::Certificate) — default:nil

    A string containing a base64-encoded X.509 certificate, OR a path to an OpenSSL-style X.509 certificate, OR an instance of OpenSSL::X509::Certificate

  • ssl[:client_key](String|OpenSSL::PKey::Pkey) — default:nil

    A string containing a base64-encoded RSA key to use for client authentication, OR a path to an OpenSSL-style RSA key, OR an instance of OpenSSL::PKey::PKey

  • ssl[:track_state](boolean) — default:false

    Turn on or off connection state tracking. This helps prevent SSL information from leaking across threads, but means that connections can’t be shared across those threads. This should generally be left off unless you know what you’re doing.

Yields:

  • (builder,request_config)

See Also:

198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
# File 'lib/manticore/client.rb', line 198definitialize(options={})@finalizer=Finalizer.newself.class.shutdown_on_finalizeself,@finalizerbuilder=client_builderbuilder.set_user_agentoptions.fetch(:user_agent,"Manticore#{VERSION}")@options=options@use_cookies=options.fetch(:cookies,false)builder.disable_cookie_managementunless@use_cookiesbuilder.disable_content_compressionifoptions.fetch(:compression,true)==falsebuilder.set_proxyget_proxy_host(options[:proxy])ifoptions.key?(:proxy)builder.set_retry_handlerLoggingStandardRetryHandler.newoptions.fetch(:automatic_retries,3),options.fetch(:retry_non_idempotent,false)# http://hc.apache.org/httpcomponents-client-ga/tutorial/html/advanced.html#stateful_conn# By default this is used to prevent different contexts from accessing SSL data# Since we're running this for JRuby which does not have context separation within the JVM# We can disable this for connection reuse.builder.disable_connection_stateunlessoptions.fetch(:ssl,{}).fetch(:track_state,false)@keepalive=options.fetch(:keepalive,true)if@keepalive==falsebuilder.set_connection_reuse_strategyNoConnectionReuseStrategy::INSTANCE# return falseelsebuilder.set_connection_reuse_strategyDefaultConnectionReuseStrategy.newendbuilder.set_default_socket_configsocket_config_from_options(options)builder.set_connection_managerpool(options)request_config=RequestConfig.customrequest_config.set_connection_request_timeoutoptions.fetch(:request_timeout,DEFAULT_REQUEST_TIMEOUT)*1000request_config.set_connect_timeoutoptions.fetch(:connect_timeout,DEFAULT_CONNECT_TIMEOUT)*1000request_config.set_socket_timeoutoptions.fetch(:socket_timeout,DEFAULT_SOCKET_TIMEOUT)*1000request_config.set_max_redirectsoptions.fetch(:max_redirects,DEFAULT_MAX_REDIRECTS)request_config.set_expect_continue_enabledoptions.fetch(:expect_continue,DEFAULT_EXPECT_CONTINUE)request_config.set_stale_connection_check_enabledoptions.fetch(:stale_check,DEFAULT_STALE_CHECK)request_config.set_circular_redirects_allowedfalseyieldbuilder,request_configifblock_given?builder.set_default_request_configrequest_config.build@client=builder.buildfinalize@client,:close@options=options@async_requests=Queue.new@stubs={}end

Instance Attribute Details

#clientObject(readonly)

Returns the value of attribute client.

138139140
# File 'lib/manticore/client.rb', line 138defclient@clientend

Class Method Details

.shutdown_on_finalize(client, finalizer) ⇒Object

418419420
# File 'lib/manticore/client.rb', line 418defself.shutdown_on_finalize(client,finalizer)ObjectSpace.define_finalizer(client,finalizer)end

Instance Method Details

#clear_pendingObject

Remove all pending asynchronous requests.

Returns:

  • nil

346347348349
# File 'lib/manticore/client.rb', line 346defclear_pending@async_requests.clearnilend

#clear_stubs!Object

Wipe all currently-set stubs.

339340341
# File 'lib/manticore/client.rb', line 339defclear_stubs!@stubs.clearend

#close(await: nil) ⇒Object

Note:

In versions before 0.9 this method only closed the underlying ‘CloseableHttpClient`

Release resources held by this client, namely:

- close the internal http client- shutdown the connection pool- stops accepting async requests in the executor

After this call the client is no longer usable.

375376377378379380381382383384385386387388389390391392
# File 'lib/manticore/client.rb', line 375defclose(await:nil)ObjectSpace.undefine_finalizer(self)@finalizer.call# which does ~ :# @executor&.shutdown rescue nil# @client&.close# @pool&.shutdown rescue nilcaseawaitwhenfalse,nil@executor&.shutdown_nowrescuenilwhenNumeric# NOTE: the concept of awaiting gracefully might/should also be used with the pool/client closingmillis=java.util.concurrent.TimeUnit::MILLISECONDS@executor&.await_termination(await*1000,millis)rescuenilelsenilend@async_requests.closeend

#delete(url, options = {}, &block) ⇒Response

Perform a HTTP DELETE request

Examples:

Simple usage

body=client.delete("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.delete("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.delete("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

Returns:

Raises:

289290291292293
# File 'lib/manticore/client.rb', line 289defdelete(url,options={},&block)options=treat_params_as_query(options)delete_class=options[:body]?HttpDeleteWithEntity:HttpDeleterequestdelete_class,url,options,&blockend

#execute!Array

Execute all queued async requests

Returns:

  • (Array)

    An array of the responses from the requests executed.

354355356357358359360361362363364365366
# File 'lib/manticore/client.rb', line 354defexecute!method=executor.java_method(:submit,[java.util.concurrent.Callable.java_class])result=[]result<<method.call(@async_requests.pop)until@async_requests.empty?result.mapdo|future|beginfuture.getrescueJava::JavaUtilConcurrent::ExecutionException=>e# These exceptions should be handled in on_failure blocks.endendend

#executorObject

Get at the underlying ExecutorService used to invoke asynchronous calls.

413414415
# File 'lib/manticore/client.rb', line 413defexecutor@executor||=create_executorend

#get(url, options = {}, &block) ⇒Response

Perform a HTTP GET request

Examples:

Simple usage

body=client.get("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.get("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.get("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

Returns:

Raises:

262263264265266
# File 'lib/manticore/client.rb', line 262defget(url,options={},&block)options=treat_params_as_query(options)get_class=options[:body]?HttpGetWithEntity:HttpGetrequestget_class,url,options,&blockend

#head(url, options = {}, &block) ⇒Response

Perform a HTTP HEAD request

Examples:

Simple usage

body=client.head("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.head("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.head("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

Returns:

Raises:

276277278279
# File 'lib/manticore/client.rb', line 276defhead(url,options={},&block)options=treat_params_as_query(options)requestHttpHead,url,options,&blockend

#http(method, url, options = {}, &block) ⇒Response

Perform an HTTP request, passing the method as a parameter

Parameters:

  • method(String,Symbol)

    Method to call (get put head post options patch)

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

Returns:

Raises:

317318319320321322323324
# File 'lib/manticore/client.rb', line 317defhttp(method,url,options={},&block)casemethod.to_s.downcasewhen*%w(getputheadpostdeleteoptionspatch)sendmethod,url,options,&blockelseraise"Invalid method:#{method}"endend

#options(url, options = {}, &block) ⇒Response

Perform a HTTP OPTIONS request

Examples:

Simple usage

body=client.options("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.options("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.options("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

Returns:

Raises:

297298299
# File 'lib/manticore/client.rb', line 297defoptions(url,options={},&block)requestHttpOptions,url,options,&blockend

#patch(url, options = {}, &block) ⇒Response

Perform a HTTP PATCH request

Examples:

Simple usage

body=client.patch("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.patch("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.patch("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

  • body(String)

    Body to pass with the request

Returns:

Raises:

303304305
# File 'lib/manticore/client.rb', line 303defpatch(url,options={},&block)requestHttpPatch,url,options,&blockend

#pool_statsObject

Return a hash of statistics about this client’s HTTP connection pool

248249250251252253254255256
# File 'lib/manticore/client.rb', line 248defpool_statsstats=@pool.get_total_stats{max:stats.get_max,leased:stats.get_leased,pending:stats.get_pending,available:stats.get_available,}end

#post(url, options = {}, &block) ⇒Response

Perform a HTTP POST request

Examples:

Simple usage

body=client.post("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.post("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.post("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

  • body(String)

    Body to pass with the request

Returns:

Raises:

283284285
# File 'lib/manticore/client.rb', line 283defpost(url,options={},&block)requestHttpPost,url,options,&blockend

#put(url, options = {}, &block) ⇒Response

Perform a HTTP PUT request

Examples:

Simple usage

body=client.put("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).body

Passing a block as the success handler:

body=client.put("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}){|response|response.body}

Explicit success handler:

body=client.put("http://example.com/some/resource",params:{foo:"bar"},headers:{"X-Custom-Header"=>"whee"}).on_success{|response|response.body}

Parameters:

  • url(String)

    URL to request

  • options(Hash)(defaults to:{})

Options Hash (options):

  • query(Hash)

    Hash of options to be added to the URL as part of the query string

  • params(Hash)

    Hash of options to pass as a request body. For GET, HEAD, and DELETE requests, :params will be treated as :query if :query is not present.

  • headers(Hash)

    Hash of options to pass as additional request headers

  • proxy(String)

    Proxy host in form:proxy.org:1234

  • proxy(Hash)

    Proxy host in form: ‘proxy.org’[, port: 80[, scheme: ‘http’]]

  • proxy(URI)

    Proxy host as a URI object

  • connect_timeout(Float)

    Request-specific connect timeout (in seconds)

  • socket_timeout(Float)

    Request-specific socket timeout (in seconds)

  • request_timeout(Float)

    Request-specific request timeout (in seconds)

  • max_redirects(Integer)

    Request-specific maximum redirect limit

  • follow_redirects(Boolean)

    Specify whether this request should follow redirects

  • auth(Hash)

    Specify authentication for the request

  • auth[:user](String)

    Username to auth with

  • auth[:password](String)

    Password to auth with

  • auth[:eager](Boolean)

    Eagerly offer the Authorization header before the server challenges for it. You should not use this unless you know you specifically need it, as misuse of it can leak user credentials.

  • body(String)

    Body to pass with the request

Returns:

Raises:

270271272
# File 'lib/manticore/client.rb', line 270defput(url,options={},&block)requestHttpPut,url,options,&blockend

#stub(url, stubs) ⇒Object

Cause this client to return a stubbed response for this URL

Parameters:

  • url(String)

    URL to stub for

  • stubs(Hash)

    Hash of options to return for the stubbed response

329330331
# File 'lib/manticore/client.rb', line 329defstub(url,stubs)@stubs[url_as_regex(url)]=stubsend

#unstub(url) ⇒Object

Cause this client to unstubbed previously-stubbed URL

334335336
# File 'lib/manticore/client.rb', line 334defunstub(url)@stubs.delete(url_as_regex(url))end
Generated on Wed Jul 9 21:37:02 2025 byyard 0.9.37 (ruby-3.4.3).

[8]ページ先頭

©2009-2025 Movatter.jp