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 Tue Mar 6 04:31:30 UTC 2018
Distributions NixOS:0.2.1.0
Downloads 182 total (14 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-06 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for toxiproxy-haskell-0.1.0.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