Commit Graph

12009 Commits

Author SHA1 Message Date
Stephen Halter 69759231ff Set Content-Length: 0 when an AppFunc completes without a write
- Previously an incomplete chunked response would be written instead.
- Add test to verify Content-Length: 0 is set automatically.
- Add test to verify HTTP/1.0 keep-alive isn't used if no Content-Length
  is set for the response.
- Add tests to verify errors are handled properly after chunked writes.

#173
2015-08-25 23:17:41 -07:00
Stephen Halter ca0a42a01e Merge branch 'Daniel15/unix-sockets' into dev 2015-08-24 12:53:31 -07:00
Anthony van der Hoorn 92dc38ffd1 Missing "commands" from project.json
This was stopping the project running in VS
2015-08-24 10:21:28 -07:00
Anthony van der Hoorn a984ea77a8 Switch over target on which server is open for 2015-08-24 10:20:32 -07:00
Anthony van der Hoorn 02fefd8b31 Fix problem with client not connecting on the correct port 2015-08-24 10:18:45 -07:00
ASP.NET Push Bot a2a1c637c9 ⬆️ dnvm.ps1, dnvm.cmd, dnvm.sh
Source: aspnet/dnvm@184a7254d8
2015-08-24 09:56:55 -07:00
Fabien Dehopré 17bd0c8e61 update install commands for Windows
update both CMD and Powershell install commands for Windows to include the configuration of the corporate proxy
2015-08-24 12:14:01 +02:00
Fabien Dehopré bab8777bd9 add default proxy support to dnvminstall.ps1
Retrieve the default proxy settings from the system and also set the proxy credentials from the system too
2015-08-24 11:55:57 +02:00
N. Taylor Mullen ad0dbe7314 Update 'build.sh' to pull Sake from v2 NuGet feed. 2015-08-20 20:47:37 -07:00
N. Taylor Mullen 41b7ce4b23 Update 'build.sh' to pull Sake from v2 NuGet feed. 2015-08-20 20:46:47 -07:00
N. Taylor Mullen 35fd0403a6 Update 'build.sh' to pull Sake from v2 NuGet feed. 2015-08-20 20:46:00 -07:00
N. Taylor Mullen e43e3c7b52 Update 'build.cmd' to pull Sake from v2 NuGet feed. 2015-08-20 15:38:31 -07:00
N. Taylor Mullen 6bddf101ed Update 'build.cmd' to pull Sake from v2 NuGet feed. 2015-08-20 15:37:56 -07:00
N. Taylor Mullen 00e703782d Update 'build.cmd' to pull Sake from v2 NuGet feed. 2015-08-20 15:36:55 -07:00
Stephen Halter 87d53700da Make the GeneratedCode project work on CoreCLR 2015-08-19 17:08:00 -07:00
N. Taylor Mullen a9365e48c2 Update NuGet feed from v2 => v3. 2015-08-19 14:55:07 -07:00
N. Taylor Mullen f61a7b64ff Update NuGet feed from v2 => v3. 2015-08-19 14:54:19 -07:00
N. Taylor Mullen fb56515af8 Update NuGet feed from v2 => v3. 2015-08-19 14:52:43 -07:00
Pranav K 7cdfdddaa0 Unpinnng Dnx.Runtime.Abstractions package version 2015-08-18 21:34:43 -07:00
Pranav K c3c3b7791b Updating to aspnetlitedev. 2015-08-18 14:00:27 -07:00
Pranav K 15dff9dcfa Merge branch 'release' into dev 2015-08-18 14:00:27 -07:00
Pranav K c3825f86c3 Updating to aspnetliterelease. 2015-08-18 14:00:26 -07:00
Pranav K 06551cda3d Updating to aspnetliterelease. 2015-08-18 14:00:22 -07:00
Pranav K b9dec6acfe Updating to aspnetlitedev. 2015-08-18 14:00:22 -07:00
Pranav K d4b686ebea Merge branch 'release' into dev 2015-08-18 14:00:22 -07:00
Pranav K df3168a53a Updating to aspnetlitedev. 2015-08-18 14:00:18 -07:00
Pranav K 6ff976be65 Merge branch 'release' into dev 2015-08-18 14:00:18 -07:00
Pranav K 86c2d546fa Updating to aspnetliterelease. 2015-08-18 14:00:17 -07:00
Stephen Halter 58292c6620 Update "Kestrel" dependency in samples after rename 2015-08-17 15:55:04 -07:00
Pranav K e300e592ec Merge branch 'release' into dev 2015-08-17 14:49:23 -07:00
Pranav K 4b7c990b3e Updating to release NuGet.config. 2015-08-17 14:49:21 -07:00
Pranav K c46fc555ae Merge branch 'release' into dev 2015-08-17 14:48:46 -07:00
Pranav K ed9cd0ec11 Updating to release NuGet.config. 2015-08-17 14:48:44 -07:00
Pranav K 73d959fae7 Merge branch 'release' into dev 2015-08-17 14:47:55 -07:00
Pranav K 17b7e92fc3 Updating to release NuGet.config. 2015-08-17 14:47:52 -07:00
Pranav K e5bea0fa1e Switching to aspnetrelease feed in Universe
Short term fix in the absence of ability to do this via build.cmd.
2015-08-17 14:39:01 -07:00
Pranav K 0b8a3e8fcb Updating to release NuGet.config 2015-08-17 14:10:40 -07:00
Pranav K b87497c6da Tweaking update-release target to be runnable from the CI
* Relying on git log --exit-code to fail in case there are unmerged
  changes in the release branch.
* Specifically update aspnetvnext feed when branching to release.
2015-08-17 14:09:05 -07:00
Daniel Lo Nigro 9ade227abb Implement support for UNIX sockets.
The common use-case for Kestrel in production will be behind a reverse proxy such as Nginx. In cases where the reverse proxy is located on the same machine as the application, connecting via a UNIX socket is more efficient than a TCP socket, as it avoids going through the network layer. Accessing 127.0.0.1 through TCP still needs to initiate a TCP connection and perform handshaking, checksumming, etc, all of which is avoided by using UNIX sockets.

 - Moved TCP-specific stuff from Listener into new TcpListener class (same with ListenerPrimary and ListenerSecondary)
 - Made Listener abstract
 - Created new PipeListener. Note that while the use case is for UNIX sockets, this is called "Pipe" in uv, so I've called this "PipeListener" so the terminology is consistant
 - Uses "unix" URL scheme to determine whether to use socket. "http://127.0.0.1:5000" is for listening via TCP while "unix:///var/run/kestrel-test.sock" is for listening via UNIX socket

#156
2015-08-15 15:50:34 -07:00
David Fowler 412b4b9d69 Use the same libuv install script on travis as kestrel 2015-08-15 03:25:42 -07:00
David Fowler 62a909d1a7 Handle broken assembly versions on mono 2015-08-15 03:12:59 -07:00
Stephen Halter 753d64660d Ignore zero length writes when automatically chunking responses
- Zero length writes would previously be interpreted as the end of response
- Optimize writing the chunked response suffix
- Add tests for automatic response chunking
2015-08-14 15:59:47 -07:00
Stephen Halter 3fb33119ee Initial non-optimized support for automatically chunking responses 2015-08-14 15:59:39 -07:00
Andrew Stanton-Nurse b1a1f52331 Direct users to docs site for Mac instructions 2015-08-14 15:42:53 -07:00
Stephen Halter 32c4f314b6 Lock around Connection.End to make it thread-safe 2015-08-14 12:17:06 -07:00
Stephen Halter 4f0480a4d0 Gracefully handle exceptions thrown from OnStarting callbacks
- If OnStarting is being called after the app func has completed, return a 500.
- If Onstarting is being called due to a call to write, throw from write.
2015-08-14 12:05:43 -07:00
Stephen Halter 6a01043e1a Fix ListenerSecondary so it reliably accepts new connections on Windows
Calling uv_read_start on a named pipe with a larger than necessary buffer
would cause pieces of the next uv_ipc_frame_uv_stream struct to be read into
the uv_read_start buffer when a lot of tcp handles were passed quickly over
the pipe.

This prevented the struct from properly being queued for the next call to
uv_accept to consume. The empty queue caused the call to uv_accept in
ListenerSecondary to fail and return WSAEWOULDBLOCK leaving the connection
in a zombie state.
2015-08-14 11:57:21 -07:00
Stephen Halter c0cc511b5b Prevent access to closed socket in in Connection.End 2015-08-14 11:49:45 -07:00
Stephen Halter b162202519 Properly close keep alive connections 2015-08-14 11:49:43 -07:00
Kirthi Krishnamraju d487a709e5 fix build break due to aspnet/configuration #246 2015-08-14 10:04:49 -07:00