4.0.0-alpha.1
Pre-releaseContains 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