Skip to content

4.0.0-alpha.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@scottoffen scottoffen released this 05 Jul 18:08
· 165 commits to master since this release

Contains bug fixes and enhancements for multiple issues.

#27 InternalServerError override not invoked in implementation of RESTResource
This is now obsolete, given that there is no longer a method to override.

#40 Implement thread-safe RestServer.Stop() for use in routes
Added the method ThreadSafeStop() to the RestServer class, added IRestServer to IHttpContext to ensure the method would be available to all routes.

#42 RestServer Authentication
In addition to the new routing table implementation, see #58

#43 Creating a cluster with multiple RESTServers does not process HTTP requests
Unable to duplicate. See the Grapevine.Integration project for example code.

#44 Passing application-specific info to response handlers
Added an ExpandoObject to the HttpContext, HttpRequest and HttpResponse classes. Pass data around to your hearts content! Additionally, the route creation methods can aid in providing additional context to the response handlers.

#49 Add logging interface to replace now defunct EventLogger
See IGrapevineLogger; create your own implementation and pass it to the RestServer instance.

#53 Make calling server accessible to routes
Added IRestServer property to IHttpContext

#56 Add mechanism to find an open port on a given host
See PortFinder class; has both synch and asynch static and instance methods.

#57 Add Dynamic property to RestServer class
Added an ExpandoObject to the RestServer

#58 Provide limited access to the underlying HttpListener instance
Added an Advanced property to the RestServer class that provides access to (almost) all the methods and properties of the underlying HttpListener. Use with caution.

#59 Enable and disable individual routes
Added Enable() and Disable() methods to IRoute