Copyright | (c) 2014 Bryan O'Sullivan |
---|---|
License | BSD-style |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell98 |
HTTP client types.
Synopsis
- data Options = Options {}
- data Auth
- = BasicAuth ByteString ByteString
- | OAuth2Bearer ByteString
- | OAuth2Token ByteString
- | AWSAuth AWSAuthVersion ByteString ByteString (Maybe ByteString)
- | AWSFullAuth AWSAuthVersion ByteString ByteString (Maybe ByteString) (Maybe (ByteString, ByteString))
- | OAuth1 ByteString ByteString ByteString ByteString
- data AWSAuthVersion = AWSv4
- type ResponseChecker = Request -> Response BodyReader -> IO ()
- data Payload where
- Raw :: ContentType -> RequestBody -> Payload
- class Postable a where
- postPayload :: a -> Request -> IO Request
- class Putable a where
- putPayload :: a -> Request -> IO Request
- data FormParam where
- (:=) :: FormValue v => ByteString -> v -> FormParam
- class FormValue a where
- renderFormValue :: a -> ByteString
- type ContentType = ByteString
- data Link = Link {
- linkURL :: ByteString
- linkParams :: [(ByteString, ByteString)]
- data JSONError = JSONError String
- data Req
- reqURL :: Req -> ByteString
- type Run body = Req -> IO (Response body)
Client configuration
Options for configuring a client.
Options | |
|
Supported authentication types.
Do not use HTTP authentication unless you are using TLS encryption. These authentication tokens can easily be captured and reused by an attacker if transmitted in the clear.
BasicAuth ByteString ByteString | Basic authentication. This consists of a plain username and password. |
OAuth2Bearer ByteString | An OAuth2 bearer token. This is treated by many services as the equivalent of a username and password. |
OAuth2Token ByteString | A not-quite-standard OAuth2 bearer token (that seems to be used only by GitHub). This is treated by whoever accepts it as the equivalent of a username and password. |
AWSAuth AWSAuthVersion ByteString ByteString (Maybe ByteString) | Amazon Web Services request signing AWSAuthVersion key secret (optional: session-token) |
AWSFullAuth AWSAuthVersion ByteString ByteString (Maybe ByteString) (Maybe (ByteString, ByteString)) | Amazon Web Services request signing AWSAuthVersion key secret Maybe (service, region) |
OAuth1 ByteString ByteString ByteString ByteString | OAuth1 request signing OAuth1 consumerToken consumerSecret token secret |
data AWSAuthVersion #
AWSv4 | AWS request signing version 4 |
Instances
Eq AWSAuthVersion # | |
Defined in Network.Wreq.Internal.Types (==) :: AWSAuthVersion -> AWSAuthVersion -> Bool # (/=) :: AWSAuthVersion -> AWSAuthVersion -> Bool # | |
Show AWSAuthVersion # | |
Defined in Network.Wreq.Internal.Types showsPrec :: Int -> AWSAuthVersion -> ShowS # show :: AWSAuthVersion -> String # showList :: [AWSAuthVersion] -> ShowS # |
type ResponseChecker = Request -> Response BodyReader -> IO () #
A function that checks the result of a HTTP request and potentially returns an exception.
Request payloads
A product type for representing more complex payload types.
Raw :: ContentType -> RequestBody -> Payload |
Instances
Putable Payload # | |
Defined in Network.Wreq.Types | |
Postable Payload # | |
Defined in Network.Wreq.Types |
A type that can be converted into a POST request payload.
Nothing
Instances
Postable ByteString # | |
Defined in Network.Wreq.Types postPayload :: ByteString -> Request -> IO Request # | |
Postable ByteString # | |
Defined in Network.Wreq.Types postPayload :: ByteString -> Request -> IO Request # | |
Postable Encoding # | |
Defined in Network.Wreq.Types | |
Postable Value # | |
Defined in Network.Wreq.Types | |
Postable Part # | |
Defined in Network.Wreq.Types | |
Postable FormParam # | |
Defined in Network.Wreq.Types | |
Postable Payload # | |
Defined in Network.Wreq.Types | |
Postable [(ByteString, ByteString)] # | |
Defined in Network.Wreq.Types postPayload :: [(ByteString, ByteString)] -> Request -> IO Request # | |
Postable [Part] # | |
Defined in Network.Wreq.Types | |
Postable [FormParam] # | |
Defined in Network.Wreq.Types | |
Postable (ByteString, ByteString) # | |
Defined in Network.Wreq.Types postPayload :: (ByteString, ByteString) -> Request -> IO Request # |
A type that can be converted into a PUT request payload.
putPayload :: a -> Request -> IO Request #
Represent a value in the request body (and perhaps the headers) of a PUT request.
Instances
Putable ByteString # | |
Defined in Network.Wreq.Types putPayload :: ByteString -> Request -> IO Request # | |
Putable ByteString # | |
Defined in Network.Wreq.Types putPayload :: ByteString -> Request -> IO Request # | |
Putable Encoding # | |
Defined in Network.Wreq.Types | |
Putable Value # | |
Defined in Network.Wreq.Types | |
Putable Part # | |
Defined in Network.Wreq.Types | |
Putable FormParam # | |
Defined in Network.Wreq.Types | |
Putable Payload # | |
Defined in Network.Wreq.Types | |
Putable [(ByteString, ByteString)] # | |
Defined in Network.Wreq.Types putPayload :: [(ByteString, ByteString)] -> Request -> IO Request # | |
Putable [Part] # | |
Defined in Network.Wreq.Types | |
Putable [FormParam] # | |
Defined in Network.Wreq.Types | |
Putable (ByteString, ByteString) # | |
Defined in Network.Wreq.Types putPayload :: (ByteString, ByteString) -> Request -> IO Request # |
URL-encoded forms
A key/value pair for an application/x-www-form-urlencoded
POST request body.
(:=) :: FormValue v => ByteString -> v -> FormParam infixr 3 |
Instances
Show FormParam # | |
Putable FormParam # | |
Defined in Network.Wreq.Types | |
Postable FormParam # | |
Defined in Network.Wreq.Types | |
Putable [FormParam] # | |
Defined in Network.Wreq.Types | |
Postable [FormParam] # | |
Defined in Network.Wreq.Types |
A type that can be rendered as the value portion of a key/value
pair for use in an application/x-www-form-urlencoded
POST
body. Intended for use with the FormParam
type.
The instances for String
, strict Text
, and lazy
Text
are all encoded using UTF-8 before being
URL-encoded.
The instance for Maybe
gives an empty string on Nothing
,
and otherwise uses the contained type's instance.
renderFormValue :: a -> ByteString #
Render the given value.
Instances
Headers
type ContentType = ByteString #
A MIME content type, e.g. "application/octet-stream"
.
An element of a Link
header.
Link | |
|
Errors
Instances
Show JSONError # | |
Exception JSONError # | |
Defined in Network.Wreq.Internal.Types toException :: JSONError -> SomeException # fromException :: SomeException -> Maybe JSONError # displayException :: JSONError -> String # |
Request handling
reqURL :: Req -> ByteString #
Return the URL associated with the given Req
.
This includes the port number if not standard, and the query string if one exists.
type Run body = Req -> IO (Response body) #
A function that runs a request and returns the associated response.