Comments (5)
if you raiseStatus 308 "/foo/bar" you get redirected.
No please don't do this, because "/foo/bar" is not a response body but a location header (I assume that's your intent). It would be very strange to change the semantics of the second argument depending on the value of the status code.
I think the right direction is to get rid of raiseStatus
altogether, and encourage users to use either finish
or a user-defined exception
from scotty.
one problem with deprecating raiseStatus is that we use it internally when a request body is too large.
from scotty.
IMO calling raiseStatus
from scotty should be avoided because it makes it harder to customise the response. How about making ScottyException
more semantic, providing a default handler in place of statusErrorHandler
? For example it could be data ScottyException = RequestTooLarge | MalformedJSON |...
This way, by setting defaultHandlers
users are able to customise the handling of these exceptions
from scotty.
from scotty.
Sure. I'll submit a PR in the coming days
from scotty.
Related Issues (20)
- Update stack templates for scotty HOT 1
- Get rid of data-default-class
- Implement user sessions
- Can we get rid of 'base-compat-batteries' dependency ?
- Do not export Web.Scotty.Internal.Types ? HOT 1
- URL-decode all inputs HOT 2
- `ActionT`'s `MonadFail` instance removed in `scotty-0.20` HOT 4
- Raise `scotty-0.20`'s lower version bounds on `base` HOT 2
- Bugfix release 0.20.1
- Generate CI matrix from cabal file with get-tested
- `defaultHandler` unsets `actionErrorHandler`
- Document exception handling logic HOT 4
- Development server for scotty
- Release 0.21
- Add test for 'defaultHandler unsets actionErrorHandler'
- Reimplement `ScottyT` in terms of ReaderT HOT 5
- Add usage examples at the top of the user-facing modules
- Is MonadReader ActionEnv (ActionT m) a good idea? HOT 1
- The name captureParam is a bit strange HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scotty.