Affjax
- Package
- purescript-affjax
- Repository
- slamdata/purescript-affjax
#Request Source
type Request a = { content :: Maybe RequestBody, headers :: Array RequestHeader, method :: Either Method CustomMethod, password :: Maybe String, responseFormat :: ResponseFormat a, timeout :: Maybe Milliseconds, url :: URL, username :: Maybe String, withCredentials :: Boolean }
A record that contains all the information to perform an HTTP request.
Instead of constructing the record from scratch it is often easier to build
one based on defaultRequest
.
#defaultRequest Source
defaultRequest :: Request Unit
A record of the type Request
that has all fields set to default
values. This record can be used as the foundation for constructing
custom requests.
As an example:
defaultRequest { url = "/api/user", method = Left POST }
Would represents a POST request to the URL /api/user
.
#Response Source
type Response a = { body :: a, headers :: Array ResponseHeader, status :: StatusCode, statusText :: String }
The type of records that represents a received HTTP response.
#Error Source
#printError Source
printError :: Error -> String
#request Source
request :: forall a. Request a -> Aff (Either Error (Response a))
Makes an HTTP request.
The example below performs a GET
request to the URL /resource
and
interprets the response body as JSON.
import Affjax.ResponseFormat (json)
...
request (defaultRequest { url = "/resource", method = Left GET, responseFormat = json})
For common cases helper functions can often be used instead of request
.
For instance, the above example is equivalent to the following.
get json "/resource"
#post Source
post :: forall a. ResponseFormat a -> URL -> Maybe RequestBody -> Aff (Either Error (Response a))
Makes a POST
request to the specified URL with the option to send data.
#put Source
put :: forall a. ResponseFormat a -> URL -> Maybe RequestBody -> Aff (Either Error (Response a))
Makes a PUT
request to the specified URL with the option to send data.
#patch Source
patch :: forall a. ResponseFormat a -> URL -> RequestBody -> Aff (Either Error (Response a))
Makes a PATCH
request to the specified URL with the option to send data.