Browse files

Updated README because Flux is now fully OWIN-compliant

  • Loading branch information...
1 parent 08922bc commit 6dbd52de2ead6f75d6dbcb2ef414d67ba9877c5d @markrendle committed Aug 4, 2012
Showing with 7 additions and 6 deletions.
  1. +7 −6 README.md
View
13 README.md
@@ -1,9 +1,9 @@
Flux
====
-A lightweight [OWIN](http://owin.org)(ish) web server for .NET and Mono
+A lightweight [OWIN](http://owin.org) web server for .NET and Mono
## Why?
-Because there aren't enough lightweight OWIN(ish) web servers for .NET and Mono. Sometimes you just don't want to run everything on top of IIS or XSP. Sometimes you just want a command-line app that does the job for you. Hence Flux.
+Because there aren't enough lightweight OWIN web servers for .NET and Mono. Sometimes you just don't want to run everything on top of IIS or XSP. Sometimes you just want a command-line app that does the job for you. Hence Flux.
## Usage
You can use Flux as a command-line executable. Just `cd` to the directory with your application assemblies in it and run `flux`. By default, Flux runs on port 3333. If you want, you can specify a port number:
@@ -15,17 +15,18 @@ You can also reference Flux from your own executable application and start it in
## Technical stuff
Flux uses [TcpListener](http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx) and does its best to handle headers and such itself. It doesn't use [HttpListener](http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx) because that requires elevated privileges, Eris knows why.
-Flux also makes use of [Fix](http://github.com/markrendle/Fix), which is "glue" for OWIN(ish). Fix works by finding methods in code that have been marked with a [MEF](http://mef.codeplex.com/) [Export](http://msdn.microsoft.com/en-us/library/system.componentmodel.composition.exportattribute.aspx) attribute with the contract name "Owin.Application".
+Flux also makes use of [Fix](http://github.com/markrendle/Fix), which is "glue" for OWIN. Fix works by finding methods in code that have been marked with a [MEF](http://mef.codeplex.com/) [Export](http://msdn.microsoft.com/en-us/library/system.componentmodel.composition.exportattribute.aspx) attribute with the contract name "Owin.Application".
Finally, Flux works natively with [Simple.Web](http://github.com/markrendle/Simple.Web), as you can see in [this test project](https://github.com/markrendle/Flux/tree/master/Flux.Test.SimpleWeb).
-### OWIN(ish)?
-Fix and Flux use delegate signatures that are very close to OWIN's, but with a couple of modifications. The latest OWIN draft specifies some `struct` types and an `IAppBuilder` interface, which introduces a dependency on an OWIN DLL, and I don't think that's a great idea. Since I've gone off-spec in that regard, I've also added an extra parameter to the Application method, which is another delegate that the Application (or middle-ware) must call on to if it can't handle the request itself. This removes the need for the `IAppBuilder` interface, plus I like it because it's more functional than returning some kind of signal value, and it makes it very easy for middle-ware to insert itself into a chain of responsibility.
+### OWIN?
+Fix and Flux use the OWIN standard for interoperability between Web Servers and Web Frameworks or Applications, without taking a dependency on the *optional* Owin assembly.
+More information about OWIN is available [here](http://owin.org).
## Caveat Utilitor
Flux is very much under development, and only intended for development use. Right now, what error handling exists is unsophisticated. There's a whole bunch of HTTP stuff that isn't implemented, such as the Connection: keep-alive header. It certainly won't handle SSL, but proxies like nginx will take care of that kind of thing. Most importantly, it hasn't been optimized or checked for memory leaks and the like yet.
-As at the time of this writing, I haven't tested Flux with Mono. I've got a Linux VM building MonoDevelop 3 at the moment, in fact...
+As at the time of this writing, I haven't tested Flux with Mono.
## Contribute
Pull requests are very much accepted, so if you can either fix a problem or add a cool feature please do. If you find a problem that you can't (or just don't want to) fix, please raise an issue.

0 comments on commit 6dbd52d

Please sign in to comment.