Comments (8)
Isn't this just how the backends handle exceptions by default?
from rest.
Probably, but I think we should change it. At the moment a lot of errors are lost when using rest-happstack.
from rest.
Take a note that error messages can leak sensitive information...
from rest.
So this is an issue mostly with happstack, because it uses lazy bytestrings. That means that if there is an undefined
or something in the computation that produces a response, you might lose the error, even if you have a top level exception handler around your code. rest
inherits this limitation, since it also uses a lazy bytestring. So I think it's up to users to handle this, with a top level exception handler and optionally forcing the response body if you want to be sure you catch everything.
from rest.
Is there anything we can actually do about this in rest? It sounds to me that users just have to pick a backend that does this properly. We can probably close this.
from rest.
We could switch rest
to use some kind of streaming abstraction (pipes, conduit, io-streams). Then I think wai
and snap
could handle this correctly. I'm not sure how much work this would be. A lot of it would just be choosing what to use and seeing how it impacts the whole framework, I guess.
from rest.
wai already does this well enough, and snap-1.0 should also fix it.
from rest.
OK, let's close it then.
from rest.
Related Issues (20)
- Incorrect Haskell code generation for nested resources when using named sid HOT 1
- Misleading documentation at fileO HOT 2
- ApiToApplication with no initial server state HOT 3
- Pretty-print JSON output HOT 5
- Rest-gen: expose modules from rest-gen HOT 5
- The possibility to set custom success response codes HOT 4
- Getting an uploaded file HOT 9
- Reserved keywords in javascript HOT 4
- Acid-State example HOT 7
- rest-example - example of handling nested ReaderT HOT 2
- generate C# client library too HOT 2
- failed to build with ghc 8.0.1 HOT 9
- recv: failed (Unknown error) messages in rest wai example HOT 4
- Build failure for 1.14.1 with pre FTP base HOT 1
- There is no information about how to execute the rest-example or to install the framework HOT 2
- REST tutorial website: wrong Hackage link for rest-snap HOT 2
- Identifiers with Kind Cardinality greater than 1 HOT 3
- Build failure with rest-client-0.5.2.1 HOT 1
- rest-core-0.39.0.1 failed to build to lts-11 HOT 3
- Is it possible to follow HATEOAS? HOT 4
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 rest.