HTTP method type. The definition of the type is based on HTTP/1.1 with RFC 2518 and RFC 5789.
Install http-methods
with Spago:
spago install http-methods
module PrintingExample where
import Data.HTTP.Method (Method(..), print)
import Data.Either (Either(..))
-- To print an HTTP method, use the `print` function:
-- same as "GET"
getMethod :: String
getMethod = print (Left GET)
module ParsingExample where
import Data.HTTP.Method (Method(..), CustomMethod(..), parse, fromString)
import Data.Either (Either(..))
-- To parse an HTTP method, use the `fromString` function:
-- same as `Left GET`.
getMethod :: Either Method CustomMethod
getMethod = fromString "GET"
-- Any methods not defined by `Method` will be parsed as a custom method:
-- same as `Right (CustomMethod "FOO")`
fooMethod :: Either Method CustomMethod
fooMethod = fromString "FOO"
-- If you want to handle the parsing in a more controlled way,
-- use `parse` directly.
-- Only accept methods defined in the Method type
-- and ignore all other custom methods
maybeMethod :: String -> Maybe Method
maybeMethod = parse Just (\_ -> Nothing)
http-methods
documentation is stored in a few places:
- Module documentation is published on Pursuit.
- See the changelog.
If you get stuck, there are several ways to get help:
- Open an issue if you have encountered a bug or problem.
- Ask general questions on the PureScript Discourse forum or the PureScript Discord chat.
You can contribute to http-methods
in several ways:
-
If you encounter a problem or have a question, please open an issue. We'll do our best to work with you to resolve or answer it.
-
If you would like to contribute code, tests, or documentation, please read the contributor guide. It's a short, helpful introduction to contributing to this library, including development instructions.
-
If you have written a library, tutorial, guide, or other resource based on this package, please share it on the PureScript Discourse! Writing libraries and learning resources are a great way to help this library succeed.