Comments (8)
It is little bit of feature - I am expecting when you have 500, application is in so bad state that any response is better to ignore ... So I am not sure if or how to change it right now ... Will think about it.
from nowin.
It could possibly leak sensitive information (so look at it also from security point of view)
from nowin.
I think here should add a config or property to switch user can handle 500 theirself or not.
from nowin.
Another 5xx status code, while according to RFC 7231, they are for specified error cases. I cannot use 4xx because the error is not caused by client request but invalid state of server (like DB connection problem, disk out of usage and any other unexpected exceptions).
In RFC 7231: Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.
Workaround is use another 5xx not defined in RFC 7231. User agent should treat undefined 5xx status code as 500.
from nowin.
I think I will force this 500 handling only if you will throw exception from App (and don't catch it). So you will be able to define "catch" middle-ware which can convert it to 500 with custom content.
from nowin.
I'd think you should lay off from anything but catching exceptions and generating 500. In the other scenarios, middlewares can be added easily enough without nowin supporting it
from nowin.
"catch" middle-ware is a good solution. Transport2HttpHandler class still needs changes to support this. Its ResponseFinished method is executed after middlewares.
from nowin.
I will do this after #39. I hope both should be finished over the weekend...
from nowin.
Related Issues (20)
- ObjectDisposedException in SaeaLayerCallback.IoCompleted HOT 2
- Force client certificate HOT 5
- Weird hang after pressing f5 repeatedly. HOT 7
- Periodically getting this exception HOT 7
- Deadlock on large request body HOT 3
- Nowin app hangs using certificate for https after the first successful connection HOT 3
- Nowin doesn't (seem) to automatically urldecode the request url HOT 4
- websockets timeout with signalr HOT 7
- Inconsistent WebSocket Upgrade response. HOT 2
- WebSockets: Ping/Pong frames should be handled even if there is no receive
- WebSockets: frames with fragmented header are causing halt in websocket processing HOT 3
- Mechanism to specify keep-alive timeout HOT 1
- 是否有新版本更新? HOT 3
- SSL + libcurl: connection seems dead
- Nowin implements IOwinRequest.Body.Length incorrectly HOT 1
- corruption/threading issues in transport layer? HOT 3
- Is it possible to provide a background worker sample? HOT 3
- keep-alive never used HOT 1
- ERR_SSL_VERSION_INTERFERENCE with Chrome on android HOT 3
- A recommendation to archive this project
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 nowin.