wreq-stringless: Simple wrapper to use wreq without Strings

[ library, mit, web ] [ Propose Tags ]

This library wraps all functions from Network.Wreq which expects a String and replaces the String Type with the Network.Wreq.StringLess.StringLike Type-Class.

Instances for Network.Wreq.StringLess.StringLike are given for:

So you can use any of this types instead of String.

To use this library, replace your the wreq dependency from your cabal file with wreq-stringless and import Network.Wreq.StringLess instead of Network.Wreq.

The '0.5.9.x' version of this library wraps the '0.5.x.x' version of wreq.

see https://github.com/j-keck/wreq-stringless/tree/master/examples for examples.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,
Dependencies base (>=4.7 && <5), bytestring, text, utf8-string, wreq (>=0.5 && <0.6) [details]
License MIT
Author Juergen Keck
Maintainer Juergen Keck <jhyphenkeck@gmail.com>
Category Web
Home page https://github.com/j-keck/wreq-stringless#readme
Bug tracker https://github.com/j-keck/wreq-stringless/issues
Source repo head: git clone https://github.com/j-keck/wreq-stringless
Uploaded by jkeck at 2018-01-16T10:02:49Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 4389 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-16 [all 1 reports]

Readme for wreq-stringless-

[back to package description]

wreq-stringless: Simple wrapper to use wreq without Strings

This Haskell library wraps Network.Wreq to use the functions without Strings.

You can use:

  • Data.Text
  • Data.Text.Lazy
  • Data.ByteString.UTF8
  • Data.ByteString.Layz.UTF8

for all functions from Network.Wreq where the original implementation use Strings.


{-# LANGUAGE OverloadedStrings #-}
module Main where

import qualified Data.Text               as T
import           Lens.Micro.Extras       (view)
import qualified Network.Wreq            as Wreq
import qualified Network.Wreq.StringLess as Wreq'

-- say we use a alternate prelude like 'Protolude', and we don't use Strings
-- or we have the url from somewhere else, and it's not a String.
url :: T.Text
url = "http://httpbin.org"

main :: IO ()
main = do
  -- with plain wreq
  view Wreq.responseStatus  <$> Wreq.get (T.unpack url) >>= print

  -- with wreq-stringless - no manual conversion necessary
  view Wreq'.responseStatus <$> Wreq'.get url >>= print

How to use it:

  • replace your wreq dependency with wreq-stringless
  • replace the import Network.Wreq with Network.Wreq.StringLess