Skip to content

Add a FromParam instance for String #15

Open
@emhoracek

Description

@emhoracek

FromParam has instances for some common types, but it doesn't have an instance for String. That's not such a big deal, because usually it's nicer to use Text. But since a lot of functions from Prelude still use String, it makes sense to let users have String params as well.

Adding a String instance will let people write a route like this:

route ctxt [ path "hello" // param "name" ==> helloHandler ]

and a handler like this:

helloHandler :: Ctxt -> String -> IO (Maybe Response)
helloHandler ctxt name = 
  let helloMessage = T.pack ("Hello " ++ name) in 
    okText helloMessage

And when you went to "/hello?name=Suzy", you would see "Hello Suzy".

Right now, you would get an error that there's no FromParam instance for String.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions