Giter VIP home page Giter VIP logo

scala-http-clients's Introduction

scala-http-clients

Build Status

HTTP client examples in Scala

When learning Scala I found very few good examples of HTTP clients in use. This project contains a set of example HTTP clients that use a range of popular Scala and Java libraries.

Features

All of the example clients support:

  • Request headers and query string paramaters passed in as Map's
  • GET, POST, PUT and DELETE operations

Interface

The same interface is implemented by all of the example clients:

trait HttpClient {
  def get(url: String, params: Map[String, String], headers: Map[String, String]): Response
  def put(url: String, body: String, params: Map[String, String], headers: Map[String, String]): Response
  def post(url: String, body: String, params: Map[String, String], headers: Map[String, String]): Response
  def delete(url: String, params: Map[String, String], headers: Map[String, String]): Response
}

where the Response object is a case class:

case class Response(statusCode: Int, body: String, headers: Map[String, String])

An asynchronous version of the interface is implemented where asyncronous clients are used. The asynchronous return type is Future[Response].

Clients

Client Library Sync/Async
DispatchHttpClient Dispatch Async
ApacheHttpClient Apache HttpComponents Client Sync
SprayHttpClient Sprary client Async

scala-http-clients's People

Contributors

robinjmurphy avatar

Stargazers

Bharath Lingannagari avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.