Project: HwameiStor (Runtime / Cloud Native Storage)
File: CHANGES.md

Backported CORS filter. #489 (#493) #503 Add OPTIONS in Webservice Fixed duplicate compression in dispatch. #449 Added check on writer to prevent compression of response twice. #447 Enable content encoding on Handle and ServeHTTP (#446) List available representations in 406 body (#437) Convert to string using rune() (#443) 405 Method Not Allowed must have Allow header (#436) add field allowedMethodsWithoutContentType (#424) support describing response headers (#426) fix openapi examples (#425) merge v3 fix (#422) fix WriteError return value (#415) allow prefix and suffix in path variable expression (#414) support google custome verb (#413) fix panic in Response.WriteError if err == nil fix issue #400 , parsing mime type quality Route Builder added option for contentEncodingEnabled (#398) Avoid return of 415 Unsupported Media Type when request body is empty (#396) Reduce allocations in per-request methods to improve performance (#395) Fix issue with default responses and invalid status code 0. (#393) add per Route content encoding setting (overrides container setting) add Request.QueryParameters() add json-iterator (via build tag) disable vgo module (until log is moved) add vgo module add JSONNewDecoderFunc to allow custom JSON Decoder usage (go 1.10+) Make JSR 311 routing and path param processing consistent Adding description to RouteBuilder.Reads() Update example for Swagger12 and OpenAPI added route condition functions using `.If(func)` in route building. solved issue #304, make operation names unique [IMPORTANT] For swagger users, change your import statement to: swagger "github.com/emicklei/go-restful-swagger12" moved swagger 1.2 code to go-restful-swagger12 created TAG 2.0.0 remove defer request body close expose Dispatch for testing filters and Routefunctions swagger response model cannot be array created TAG 1.0.0 (API change) Remove code related to caching request content. Removes SetCacheReadEntity(doCache bool) Default change! now use CurlyRouter (was RouterJSR311) Default change! no more caching of request content Default change! do not recover from panics fix the DefaultRequestContentType feature take the qualify factor of the Accept header mediatype into account when deciding the contentype of the response add constructors for custom entity accessors for xml and json rename new WriteStatusAnd... to WriteHeaderAnd... for consistency fixed problem with changing Header after WriteHeader (issue 235) changed behavior of WriteHeader (immediate write) and WriteEntity (no status write) added support for custom EntityReaderWriters. add support for reading entities from compressed request content use sync.Pool for compressors of http response and request body add Description to Parameter for documentation in Swagger UI add configurable logging if not specified, the Operation is derived from the Route function expose Parameter creation functions make trace logger an interface fix OPTIONSFilter customize rendering of ServiceError JSR311 router now handles wildcards add Notes to Route (api add) PrettyPrint per response. (as proposed in #167) (api add) ApiVersion(.) for documentation in Swagger UI (api change) struct fields tagged with "description" show up in Swagger UI (api change) ReturnsError -> Returns (api add)

for DRY use of RouteBuilder fix swagger nested structs sort Swagger response messages by code (api add) ReturnsError allows you to document Http codes in swagger fixed problem with greedy CurlyRouter (api add) Access-Control-Max-Age in CORS add tracing functionality (injectable) for debugging purposes support JSON parse 64bit int fix empty parameters for swagger WebServicesUrl is now optional for swagger fixed duplicate AccessControlAllowOrigin in CORS (api change) expose ServeMux in container (api add) added AllowedDomains in CORS (api add) ParameterNamed for detailed documentation (api add) expose constructor of Request for testing. (api add) ParameterNamed gives access to a Parameter definition and its data (for further specification). (api add) SetCacheReadEntity allow scontrol over whether or not the request body is being cached (default true for compatibility reasons). (api add) CORS can be configured with a list of allowed domains (api add) Route path parameters can use wildcard or regular expressions. (requires CurlyRouter) (api add) Request now provides information about the matched Route, see method SelectedRoutePath (api change) renamed parameter constants (go-lint checks) (api add) support for CloseNotify, see http://golang.org/pkg/net/http/#CloseNotifier (api change) Write* methods in Response now return the error or nil. added example of serving HTML from a Go template. fixed comparing Allowed headers in CORS (is now case-insensitive) (api add) Response knows how many bytes are written to the response body. (api add) RecoverHandler(handler RecoverHandleFunction) to change how panic recovery is handled. Default behavior is to log and return a stacktrace. This may be a security issue as it exposes sourcecode information. (api add) Response knows what HTTP status has been written (api add) Request can have attributes (map of string->interface, also called request-scoped variables (api change) Router interface simplified Implemented CurlyRouter, a Router that does not use|allow regular expressions in paths add OPTIONS support add CORS support fixed some reported issues (see github) (api change) deprecated use of WriteError; use WriteErrorString instead (fix) v1.0.1 tag: fix Issue 111: WriteErrorString (api add) Added implementation Container: a WebServices collection with its own http.ServeMux allowing multiple endpoints per program. Existing uses of go-restful will register their services to the DefaultContainer. (api add) the swagger package has be extended to have a UI per container. if panic is detected then a small stack trace is printed (thanks to runner-mei) (api add) WriteErrorString to Response Important API changes: (api remove) package variable DoNotRecover no longer works ; use restful.DefaultContainer.DoNotRecover(true) instead. (api remove) package variable EnableContentEncoding no longer works ; use restful.DefaultContainer.EnableContentEncoding(true) instead. (api add) Added support for response encoding (gzip and deflate(zlib)). This feature is disabled on default (for backwards compatibility). Use restful.EnableContentEncoding = true in your initialization to enable this feature. (improve) DoNotRecover option, moved request body closer, improved ReadEntity (api change) removed Dispatcher interface, hide PathExpression changed receiver names of type functions to be more idiomatic Go (optimize) Cache the RegExp compilation of Paths. (api add) Added support for request/response filter functions (api add) Added feature to change the default Http Request Dispatch function (travis cline) (api change) Moved Swagger Webservice to swagger package (see example restful-user) See https://github.com/emicklei/go-restful/commits Initial commit