HttpClient

Defines HTTP client.

class Object
trait Matchable
class Any

Value members

Constructors

def this(settings: Map[String, AnyRef])

Creates HTTP client using supplied settings.

Creates HTTP client using supplied settings.

Client Settings

The following provides example settings:

[
 accept: '*/*',
 acceptEncodings: ['applications/json', '*/*; q=0.1'],
 bufferSize: 8192,
 readTimeout: 15000,
 continueTimeout: 1000,
 keepAliveEnabled: false,
 cookieStoreEnabled: true,
 // Used to resolve non-absolute URLs
 resolveTo: [
   host: 'api.example.com',
   port: 443,
   secure: true
 ],
 // Used to verify SSL/TLS certificates
 trust: [
   truststore: '/path/to/example.jks',
   type: 'jks',
   password: 'letmein'
 ]
]
Value parameters:
settings

client settings

def this()

Creates HTTP client using default settings.

Creates HTTP client using default settings.

Concrete methods

def delete[T](req: AnyRef, handler: HttpResponse => T): T

Sends DELETE request.

Sends DELETE request.

Value parameters:
handler

response handler

req

outgoing request

See also:
def get[T](req: AnyRef, handler: HttpResponse => T): T

Sends GET request.

Sends GET request.

Value parameters:
handler

response handler

req

outgoing request

See also:

Gets client settings.

Gets client settings.

def post[T](req: AnyRef, handler: HttpResponse => T): T

Sends POST request.

Sends POST request.

Value parameters:
handler

response handler

req

outgoing request

See also:
def put[T](req: AnyRef, handler: HttpResponse => T): T

Sends PUT request.

Sends PUT request.

Value parameters:
handler

response handler

req

outgoing request

See also:
def send[T](req: AnyRef, handler: HttpResponse => T): T

Sends request.

Sends request.

HTTP Request

The following provides example HTTP request:

[
 method: 'POST',
 url: 'https://api.example.com/messages',
 headers: [
   'Content-Type': 'application/json',
   'Authorization': 'Bearer 94c2f320-7120-4338-8e40-42bc2581dd05'
 ],
 // Supply body as Array[Byte], String, File, Path, InputStream, Reader,
 // QueryString, Multipart, or BodyWriter
 body: '''{ "to": ["Peter", "Mary"], "text": "Hello, friends!"] }'''
]

HTTP Response

The following provides example HTTP response:

[
 httpVersion: 'HTTP/1.1',
 statusCode: 200,
 reasonPhrase: 'OK',
 headers: [
   'Content-Type': 'application/json',
   'Content-Length': 45,
   'Date': 'Mon, 23 Oct 2023 16:11:12 GMT',
   'Connection': 'close'
 ],
 body: ... // See scurry.http.Body
]
Value parameters:
handler

response handler

req

outgoing request

See also:
def websocket[T](req: AnyRef, handler: WebSocket => T): T

Sends WebSocket request.

Sends WebSocket request.

Value parameters:
handler

websocket session handler

req

outgoing request