toxiproxy-haskell: Client library for Toxiproxy: a TCP failure testing proxy.

[ bsd3, library, web ] [ Propose Tags ]

Please see the README on Github at https://github.com/jpittis/toxiproxy-haskell#readme


[Skip to Readme]
Versions 0.1.0.0, 0.2.0.0, 0.2.1.0
Dependencies aeson, base (>=4.7 && <5), containers, http-client, servant, servant-client, text [details]
License BSD-3-Clause
Copyright 2018 Jake Pittis
Author Jake Pittis
Maintainer jakepittis@gmail.com
Category web
Home page https://github.com/jpittis/toxiproxy-haskell#readme
Bug tracker https://github.com/jpittis/toxiproxy-haskell/issues
Source repo head: git clone https://github.com/jpittis/toxiproxy-haskell
Uploaded by jpittis at Sat Mar 10 01:36:25 UTC 2018
Distributions NixOS:0.2.1.0
Downloads 146 total (40 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for toxiproxy-haskell-0.2.1.0

[back to package description]

A complete Haskell client for Toxiproxy.

(Requires Toxiproxy version 2.1.3 and above.)

Example

import Toxiproxy

main :: IO ()
main = do
  let proxy = Proxy
        { proxyName     = "myProxy"
        , proxyListen   = myProxyHost
        , proxyUpstream = myUpstreamHost
        , proxyEnabled  = True
        , proxyToxics   = []
        }
  let latency = Toxic
        { toxicName       = "latency"
        , toxicType       = "latency"
        , toxicStream     = "upstream"
        , toxicToxicity   = 1
        , toxicAttributes = Map.fromList [("latency", 1000), ("jitter", 0)]
        }
  withProxy proxy $ \proxy -> do
    withToxic proxy latency $ do
      getRequestToMyProxyHost -- This will take > 1 second