resolve-ip
TypeScript icon, indicating that this package has built-in type declarations

4.2.0 • Public • Published

resolve-ip

resolve-ip client library.

ResolveIP ⏏

resolve-ip client

Kind: Exported class

new ResolveIP(options)

Create a new client object.

Param Type Default Description
options Object Options for constructing a client object.
[options.address] string URL where the server is located. Must provide this or the discovery argument
[options.discovery] bool Use clever-discovery to locate the server. Must provide this or the address argument
[options.timeout] number The timeout to use for all client requests, in milliseconds. This can be overridden on a per-request basis. Default is 5000ms.
[options.keepalive] bool Set keepalive to true for client requests. This sets the forever: true attribute in request. Defaults to true.
[options.retryPolicy] RetryPolicies RetryPolicies.Single The logic to determine which requests to retry, as well as how many times to retry.
[options.logger] module:kayvee.Logger logger.New("resolve-ip-wagclient") The Kayvee logger to use in the client.
[options.circuit] Object Options for constructing the client's circuit breaker.
[options.circuit.forceClosed] bool When set to true the circuit will always be closed. Default: true.
[options.circuit.maxConcurrentRequests] number the maximum number of concurrent requests the client can make at the same time. Default: 100.
[options.circuit.requestVolumeThreshold] number The minimum number of requests needed before a circuit can be tripped due to health. Default: 20.
[options.circuit.sleepWindow] number how long, in milliseconds, to wait after a circuit opens before testing for recovery. Default: 5000.
[options.circuit.errorPercentThreshold] number the threshold to place on the rolling error rate. Once the error rate exceeds this percentage, the circuit opens. Default: 90.

resolveIP.close()

Releases handles used in client

Kind: instance method of ResolveIP

resolveIP.healthCheck([options], [cb]) ⇒ Promise

Checks if the service is healthy

Kind: instance method of ResolveIP
Fulfill: undefined
Reject: BadRequest
Reject: InternalError
Reject: Error

Param Type Description
[options] object
[options.timeout] number A request specific timeout
[options.retryPolicy] RetryPolicies A request specific retryPolicy
[cb] function

resolveIP.locationForIP(ip, [options], [cb]) ⇒ Promise

Gets the lat/lon for a given IP.

Kind: instance method of ResolveIP
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error

Param Type Description
ip string The IP to try to locate
[options] object
[options.timeout] number A request specific timeout
[options.retryPolicy] RetryPolicies A request specific retryPolicy
[cb] function

ResolveIP.RetryPolicies

Retry policies available to use.

Kind: static property of ResolveIP

RetryPolicies.Exponential

The exponential retry policy will retry five times with an exponential backoff.

Kind: static constant of RetryPolicies

RetryPolicies.Single

Use this retry policy to retry a request once.

Kind: static constant of RetryPolicies

RetryPolicies.None

Use this retry policy to turn off retries.

Kind: static constant of RetryPolicies

ResolveIP.Errors

Errors returned by methods.

Kind: static property of ResolveIP

Errors.BadRequest ⇐ Error

BadRequest

Kind: static class of Errors
Extends: Error
Properties

Name Type
message string

Errors.InternalError ⇐ Error

InternalError

Kind: static class of Errors
Extends: Error
Properties

Name Type
message string

Errors.NotFound ⇐ Error

NotFound

Kind: static class of Errors
Extends: Error
Properties

Name Type
message string

ResolveIP.DefaultCircuitOptions

Default circuit breaker options.

Kind: static constant of ResolveIP

Readme

Keywords

none

Package Sidebar

Install

npm i resolve-ip

Weekly Downloads

16

Version

4.2.0

License

none

Unpacked Size

27.5 kB

Total Files

5

Last publish

Collaborators

  • clever