Skip to content

Upgrading github.com/emicklei/go-restful 1 to 2

Unknownv1.1.3 → v2.16.0+incompatibleSecurity1

Fetching 29 releases from GitHub…8 / 29
UnknownUpgrade verdict

DepDelta is still reading the notes for 21 of 29 releases, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
1 item needs code or config changes
Security1
Authorization bypass in github.com/emicklei/go-restful, go-restful/v2 and go-restful/v3

Generated by DepDelta from published Go source. Not mixed with prose notes.

  • removed: func SetCacheReadEntity(bool)
  • changed: func TraceLogger(*log.Logger) → func TraceLogger(log.StdLogger)
  • changed: method CompressingResponseWriter.Close() → method CompressingResponseWriter.Close() error
  • changed: method Response.WriteError(int, error) error → method Response.WriteError(int, error) (error)
  • changed: method RouteBuilder.Reads(interface{}) *RouteBuilder → method RouteBuilder.Reads(interface{}, ...string) *RouteBuilder
  • added: const CollectionFormatCSV
  • added: const CollectionFormatMulti
  • added: const CollectionFormatPipes
  • added: const CollectionFormatSSV
  • added: const CollectionFormatTSV
  • added: const MIME_OCTET
  • added: const MultiPartFormParameterKind
  • added: field CrossOriginResourceSharing.AllowedDomainFunc: func(origin string) bool
  • added: field Header.Description: string
  • added: field Header.Items: embedded *Items
  • added: field Items.CollectionFormat: string
  • added: field Items.Default: interface{}
  • added: field Items.Format: string
  • added: field Items.Items: *Items
  • added: field Items.Type: string
  • added: field ParameterData.CollectionFormat: string
  • added: field ParameterData.DataFormat: string
  • added: field ParameterData.DefaultValue: string
  • added: field ResponseError.Headers: map[string]Header
  • added: field ResponseError.IsDefault: bool
  • added: field Route.DefaultResponse: *ResponseError
  • added: field Route.Deprecated: bool
  • added: field Route.If: []RouteSelectionConditionFunction
  • added: field Route.Metadata: map[string]interface{}
  • added: field ServiceError.Header: http.Header
  • added: field SyncPoolCompessors.GzipReaderPool: *sync.Pool
  • added: field SyncPoolCompessors.GzipWriterPool: *sync.Pool
  • added: field SyncPoolCompessors.ZlibWriterPool: *sync.Pool
  • added: func BodyParameter(string, string) *Parameter
  • added: func CurrentCompressorProvider() CompressorProvider
  • added: func EnableTracing(bool)
  • added: func FormParameter(string, string) *Parameter
  • added: func HeaderParameter(string, string) *Parameter
  • added: func MultiPartFormParameter(string, string) *Parameter
  • added: func NewBoundedCachedCompressors(int, int) *BoundedCachedCompressors
  • added: func NewEntityAccessorJSON(string) EntityReaderWriter
  • added: func NewEntityAccessorXML(string) EntityReaderWriter
  • added: func NewErrorWithHeader(int, string, http.Header) ServiceError
  • added: func NewSyncPoolCompessors() *SyncPoolCompessors
  • added: func NoBrowserCacheFilter(*Request, *Response, *FilterChain)
  • added: func PathParameter(string, string) *Parameter
  • added: func QueryParameter(string, string) *Parameter
  • added: func RegisterEntityAccessor(string, EntityReaderWriter)
  • added: func SetCompressorProvider(CompressorProvider)
  • added: func SetLogger(log.StdLogger)
  • added: method BoundedCachedCompressors.AcquireGzipReader() *gzip.Reader
  • added: method BoundedCachedCompressors.AcquireGzipWriter() *gzip.Writer
  • added: method BoundedCachedCompressors.AcquireZlibWriter() *zlib.Writer
  • added: method BoundedCachedCompressors.ReleaseGzipReader(*gzip.Reader)
  • added: method BoundedCachedCompressors.ReleaseGzipWriter(*gzip.Writer)
  • added: method BoundedCachedCompressors.ReleaseZlibWriter(*zlib.Writer)
  • added: method CollectionFormat.String() string
  • added: method CompressingResponseWriter.Hijack() (net.Conn, *bufio.ReadWriter, error)
  • added: method CompressorProvider.AcquireGzipReader() *gzip.Reader
  • added: method CompressorProvider.AcquireGzipWriter() *gzip.Writer
  • added: method CompressorProvider.AcquireZlibWriter() *zlib.Writer
  • added: method CompressorProvider.ReleaseGzipReader(*gzip.Reader)
  • added: method CompressorProvider.ReleaseGzipWriter(*gzip.Writer)
  • added: method CompressorProvider.ReleaseZlibWriter(*zlib.Writer)
  • added: method Container.Dispatch(http.ResponseWriter, *http.Request)
  • added: method Container.Remove(*WebService) error
  • added: method Container.ServiceErrorHandler(ServiceErrorHandleFunction)
  • added: method EntityReaderWriter.Read(*Request, interface{}) error
  • added: method EntityReaderWriter.Write(*Response, int, interface{}) error
  • added: method Parameter.CollectionFormat(CollectionFormat) *Parameter
  • added: method Parameter.DataFormat(string) *Parameter
  • added: method Parameter.DefaultValue(string) *Parameter
  • added: method Parameter.Description(string) *Parameter
  • added: method PathProcessor.ExtractParameters(*Route, *WebService, string) map[string]string
  • added: method Request.QueryParameters(string) []string
  • added: method Request.SelectedRoute() RouteReader
  • added: method Response.EntityWriter() (EntityReaderWriter, bool)
  • added: method Response.Error() error
  • added: method Response.Flush()
  • added: method Response.Hijack() (net.Conn, *bufio.ReadWriter, error)
  • added: method Response.WriteHeaderAndEntity(int, interface{}) error
  • added: method Response.WriteHeaderAndJson(int, interface{}, string) error
  • added: method Response.WriteHeaderAndXml(int, interface{}) error
  • added: method Response.WriteJson(interface{}, string) error
  • added: method Route.EnableContentEncoding(bool)
  • added: method RouteBuilder.AllowedMethodsWithoutContentType([]string) *RouteBuilder
  • added: method RouteBuilder.ContentEncodingEnabled(bool) *RouteBuilder
  • added: method RouteBuilder.DefaultReturns(string, interface{}) *RouteBuilder
  • added: method RouteBuilder.Deprecate() *RouteBuilder
  • added: method RouteBuilder.If(RouteSelectionConditionFunction) *RouteBuilder
  • added: method RouteBuilder.Metadata(string, interface{}) *RouteBuilder
  • added: method RouteBuilder.ReturnsWithHeaders(int, string, interface{}, map[string]Header) *RouteBuilder
  • added: method RouteReader.Consumes() []string
  • added: method RouteReader.Deprecated() bool
  • added: method RouteReader.Doc() string
  • added: method RouteReader.Metadata() map[string]interface{}
  • added: method RouteReader.Method() string
  • added: method RouteReader.Notes() string
  • added: method RouteReader.Operation() string
  • added: method RouteReader.ParameterDocs() []*Parameter
  • added: method RouteReader.Path() string
  • added: method RouterJSR311.ExtractParameters(*Route, *WebService, string) map[string]string
  • added: method SyncPoolCompessors.AcquireGzipReader() *gzip.Reader
  • added: method SyncPoolCompessors.AcquireGzipWriter() *gzip.Writer
  • added: method SyncPoolCompessors.AcquireZlibWriter() *zlib.Writer
  • added: method SyncPoolCompessors.ReleaseGzipReader(*gzip.Reader)
  • added: method SyncPoolCompessors.ReleaseGzipWriter(*gzip.Writer)
  • added: method SyncPoolCompessors.ReleaseZlibWriter(*zlib.Writer)
  • added: method WebService.MultiPartFormParameter(string, string) *Parameter
  • added: method WebService.OPTIONS(string) *RouteBuilder
  • added: method WebService.RemoveRoute(string, string) error
  • added: method WebService.SetDynamicRoutes(bool)
  • added: method WebService.TypeNameHandler(TypeNameHandleFunction) *WebService
  • added: type BoundedCachedCompressors: struct
  • added: type CollectionFormat: string
  • added: type CompressorProvider: interface
  • added: type EntityReaderWriter: interface
  • added: type Header: struct
  • added: type Items: struct
  • added: type PathProcessor: interface
  • added: type RouteReader: interface
  • added: type RouteSelectionConditionFunction: func(httpRequest *http.Request) bool
  • added: type ServiceErrorHandleFunction: func(ServiceError, *Request, *Response)
  • added: type SyncPoolCompessors: struct
  • added: type TypeNameHandleFunction: func(sample interface{}) string
  • added: var MarshalIndent
  • added: var NewDecoder
  • added: var NewEncoder
  • added: const MIME_MSGPACK
  • added: func NewEntityAccessorMsgPack() restful.EntityReaderWriter
  • added: func Print(...interface{})
  • added: func Printf(string, ...interface{})
  • added: func SetLogger(StdLogger)
  • added: method StdLogger.Print(...interface{})
  • added: method StdLogger.Printf(string, ...interface{})
  • added: type StdLogger: interface
  • added: var Logger: StdLogger
  • removed: field Api.Description: string
  • removed: field Api.Operations: []Operation
  • removed: field Api.Path: string
  • removed: field ApiDeclaration.ApiVersion: string
  • removed: field ApiDeclaration.Apis: []Api
  • removed: field ApiDeclaration.Authorizations: []Authorization
  • removed: field ApiDeclaration.BasePath: string
  • removed: field ApiDeclaration.Consumes: []string
  • removed: field ApiDeclaration.Models: map[string]Model
  • removed: field ApiDeclaration.Produces: []string
  • removed: field ApiDeclaration.ResourcePath: string
  • removed: field ApiDeclaration.SwaggerVersion: string
  • removed: field Authorization.GrantTypes: []GrantType
  • removed: field Authorization.Keyname: string
  • removed: field Authorization.PassAs: string
  • removed: field Authorization.Scopes: []Scope
  • removed: field Authorization.Type: string
  • removed: field AuthorizationCode.TokenEndpoint: TokenEndpoint
  • removed: field AuthorizationCode.TokenRequestEndpoint: TokenRequestEndpoint
  • removed: field Config.ApiPath: string
  • removed: field Config.DisableCORS: bool
  • removed: field Config.StaticHandler: http.Handler
  • removed: field Config.SwaggerFilePath: string
  • removed: field Config.SwaggerPath: string
  • removed: field Config.WebServices: []*restful.WebService
  • removed: field Config.WebServicesUrl: string
  • removed: field DataTypeFields.DefaultValue: Special
  • removed: field DataTypeFields.Enum: []string
  • removed: field DataTypeFields.Format: string
  • removed: field DataTypeFields.Items: *Item
  • removed: field DataTypeFields.Maximum: string
  • removed: field DataTypeFields.Minimum: string
  • removed: field DataTypeFields.Ref: *string
  • removed: field DataTypeFields.Type: *string
  • removed: field DataTypeFields.UniqueItems: *bool
  • removed: field GrantType.AuthorizationCode: AuthorizationCode
  • removed: field GrantType.Implicit: Implicit
  • removed: field Implicit.TokenName: string
  • removed: field Info.Contact: string
  • removed: field Info.Description: string
  • removed: field Info.LicensUrl: string
  • removed: field Info.License: string
  • removed: field Info.TermsOfServiceUrl: string
  • removed: field Info.Title: string
  • removed: field Item.Format: string
  • removed: field Item.Ref: *string
  • removed: field Item.Type: *string
  • removed: field LoginEndpoint.Url: string
  • removed: field Model.Description: string
  • removed: field Model.Discriminator: string
  • removed: field Model.Id: string
  • removed: field Model.Properties: map[string]ModelProperty
  • removed: field Model.Required: []string
  • removed: field Model.SubTypes: []string
  • removed: field ModelProperty.DataTypeFields: embedded DataTypeFields
  • removed: field ModelProperty.Description: string
  • removed: field Operation.Authorizations: []Authorization
  • removed: field Operation.Consumes: []string
  • removed: field Operation.Deprecated: string
  • removed: field Operation.Method: string
  • removed: field Operation.Nickname: string
  • removed: field Operation.Notes: string
  • removed: field Operation.Parameters: []Parameter
  • removed: field Operation.Produces: []string
  • removed: field Operation.ResponseMessages: []ResponseMessage
  • removed: field Operation.Summary: string
  • removed: field Operation.Type: string
  • removed: field Parameter.AllowMultiple: bool
  • removed: field Parameter.DataTypeFields: embedded DataTypeFields
  • removed: field Parameter.Description: string
  • removed: field Parameter.Name: string
  • removed: field Parameter.ParamType: string
  • removed: field Parameter.Required: bool
  • removed: field Resource.Description: string
  • removed: field Resource.Path: string
  • removed: field ResourceListing.ApiVersion: string
  • removed: field ResourceListing.Apis: []Resource
  • removed: field ResourceListing.Authorizations: []Authorization
  • removed: field ResourceListing.Info: Info
  • removed: field ResourceListing.SwaggerVersion: string
  • removed: field ResponseMessage.Code: int
  • removed: field ResponseMessage.Message: string
  • removed: field ResponseMessage.ResponseModel: string
  • removed: field Scope.Description: string
  • removed: field Scope.Scope: string
  • removed: field TokenEndpoint.TokenName: string
  • removed: field TokenEndpoint.Url: string
  • removed: field TokenRequestEndpoint.ClientIdName: string
  • removed: field TokenRequestEndpoint.ClientSecretName: string
  • removed: field TokenRequestEndpoint.Url: string
  • removed: func InstallSwaggerService(Config)
  • removed: func RegisterSwaggerService(Config, *restful.Container)
  • removed: method ParameterSorter.Len() int
  • removed: method ParameterSorter.Less(int, int) bool
  • removed: method ParameterSorter.Swap(int, int)
  • removed: method ResourceSorter.Len() int
  • removed: method ResourceSorter.Less(int, int) bool
  • removed: method ResourceSorter.Swap(int, int)
  • removed: type Api: struct
  • removed: type ApiDeclaration: struct
  • removed: type Authorization: struct
  • removed: type AuthorizationCode: struct
  • removed: type Authorizations: map[string]Authorization
  • removed: type Config: struct
  • removed: type DataTypeFields: struct
  • removed: type GrantType: struct
  • removed: type Implicit: struct
  • removed: type Info: struct
  • removed: type Item: struct
  • removed: type LoginEndpoint: struct
  • removed: type Model: struct
  • removed: type ModelProperty: struct
  • removed: type Operation: struct
  • removed: type Parameter: struct
  • removed: type ParameterSorter: []Parameter
  • removed: type Resource: struct
  • removed: type ResourceListing: struct
  • removed: type ResourceSorter: []Resource
  • removed: type ResponseMessage: struct
  • removed: type Scope: struct
  • removed: type Special: string
  • removed: type SwaggerService: struct
  • removed: type TokenEndpoint: struct
  • removed: type TokenRequestEndpoint: struct
  • removed: var LogInfo