add ks-iam and ks-apigateway
Signed-off-by: hongming <talonwan@yunify.com>
This commit is contained in:
6
vendor/github.com/emicklei/go-restful-openapi/CHANGES.md
generated
vendored
6
vendor/github.com/emicklei/go-restful-openapi/CHANGES.md
generated
vendored
@@ -1,5 +1,11 @@
|
||||
# changes to the go-restful-openapi package
|
||||
|
||||
## v1.0.0
|
||||
|
||||
- Fix for #19 MapModelTypeNameFunc has incomplete behavior
|
||||
- prevent array param.Type be overwritten in the else case below (#47)
|
||||
- Merge paths with existing paths from other webServices (#48)
|
||||
|
||||
## v0.11.0
|
||||
|
||||
- Register pointer to array/slice of primitives as such rather than as reference to the primitive type definition. (#46)
|
||||
|
||||
2
vendor/github.com/emicklei/go-restful-openapi/README.md
generated
vendored
2
vendor/github.com/emicklei/go-restful-openapi/README.md
generated
vendored
@@ -23,4 +23,4 @@ See TestThatExtraTagsAreReadIntoModel for examples.
|
||||
- [go-restful](https://github.com/emicklei/go-restful)
|
||||
- [go-openapi](https://github.com/go-openapi/spec)
|
||||
|
||||
© 2017, ernestmicklei.com. MIT License. Contributions welcome.
|
||||
© 2018, ernestmicklei.com. MIT License. Contributions welcome.
|
||||
|
||||
0
vendor/github.com/emicklei/go-restful-openapi/build_definitions.go
generated
vendored
Normal file → Executable file
0
vendor/github.com/emicklei/go-restful-openapi/build_definitions.go
generated
vendored
Normal file → Executable file
28
vendor/github.com/emicklei/go-restful-openapi/build_path.go
generated
vendored
Normal file → Executable file
28
vendor/github.com/emicklei/go-restful-openapi/build_path.go
generated
vendored
Normal file → Executable file
@@ -129,14 +129,6 @@ func buildParameter(r restful.Route, restfulParam *restful.Parameter, pattern st
|
||||
p := spec.Parameter{}
|
||||
param := restfulParam.Data()
|
||||
p.In = asParamType(param.Kind)
|
||||
if param.AllowMultiple {
|
||||
p.Type = "array"
|
||||
p.Items = spec.NewItems()
|
||||
p.Items.Type = param.DataType
|
||||
p.CollectionFormat = param.CollectionFormat
|
||||
} else {
|
||||
p.Type = param.DataType
|
||||
}
|
||||
p.Description = param.Description
|
||||
p.Name = param.Name
|
||||
p.Required = param.Required
|
||||
@@ -149,7 +141,7 @@ func buildParameter(r restful.Route, restfulParam *restful.Parameter, pattern st
|
||||
p.Schema = new(spec.Schema)
|
||||
p.SimpleSchema = spec.SimpleSchema{}
|
||||
if st.Kind() == reflect.Array || st.Kind() == reflect.Slice {
|
||||
dataTypeName := definitionBuilder{}.keyFrom(st.Elem())
|
||||
dataTypeName := keyFrom(st.Elem(), cfg)
|
||||
p.Schema.Type = []string{"array"}
|
||||
p.Schema.Items = &spec.SchemaOrArray{
|
||||
Schema: &spec.Schema{},
|
||||
@@ -162,11 +154,19 @@ func buildParameter(r restful.Route, restfulParam *restful.Parameter, pattern st
|
||||
p.Schema.Items.Schema.Ref = spec.MustCreateRef("#/definitions/" + dataTypeName)
|
||||
}
|
||||
} else {
|
||||
p.Schema.Ref = spec.MustCreateRef("#/definitions/" + param.DataType)
|
||||
dataTypeName := keyFrom(st, cfg)
|
||||
p.Schema.Ref = spec.MustCreateRef("#/definitions/" + dataTypeName)
|
||||
}
|
||||
|
||||
} else {
|
||||
p.Type = param.DataType
|
||||
if param.AllowMultiple {
|
||||
p.Type = "array"
|
||||
p.Items = spec.NewItems()
|
||||
p.Items.Type = param.DataType
|
||||
p.CollectionFormat = param.CollectionFormat
|
||||
} else {
|
||||
p.Type = param.DataType
|
||||
}
|
||||
p.Default = stringAutoType(param.DefaultValue)
|
||||
p.Format = param.DataFormat
|
||||
}
|
||||
@@ -185,7 +185,7 @@ func buildResponse(e restful.ResponseError, cfg Config) (r spec.Response) {
|
||||
}
|
||||
r.Schema = new(spec.Schema)
|
||||
if st.Kind() == reflect.Array || st.Kind() == reflect.Slice {
|
||||
modelName := definitionBuilder{}.keyFrom(st.Elem())
|
||||
modelName := keyFrom(st.Elem(), cfg)
|
||||
r.Schema.Type = []string{"array"}
|
||||
r.Schema.Items = &spec.SchemaOrArray{
|
||||
Schema: &spec.Schema{},
|
||||
@@ -198,13 +198,13 @@ func buildResponse(e restful.ResponseError, cfg Config) (r spec.Response) {
|
||||
r.Schema.Items.Schema.Ref = spec.MustCreateRef("#/definitions/" + modelName)
|
||||
}
|
||||
} else {
|
||||
modelName := definitionBuilder{}.keyFrom(st)
|
||||
modelName := keyFrom(st, cfg)
|
||||
if isPrimitiveType(modelName) {
|
||||
// If the response is a primitive type, then don't reference any definitions.
|
||||
// Instead, set the schema's "type" to the model name.
|
||||
r.Schema.AddType(modelName, "")
|
||||
} else {
|
||||
modelName := definitionBuilder{}.keyFrom(st)
|
||||
modelName := keyFrom(st, cfg)
|
||||
r.Schema.Ref = spec.MustCreateRef("#/definitions/" + modelName)
|
||||
}
|
||||
}
|
||||
|
||||
24
vendor/github.com/emicklei/go-restful-openapi/definition_builder.go
generated
vendored
Normal file → Executable file
24
vendor/github.com/emicklei/go-restful-openapi/definition_builder.go
generated
vendored
Normal file → Executable file
@@ -40,7 +40,7 @@ func (b definitionBuilder) addModel(st reflect.Type, nameOverride string) *spec.
|
||||
st = st.Elem()
|
||||
}
|
||||
|
||||
modelName := b.keyFrom(st)
|
||||
modelName := keyFrom(st, b.Config)
|
||||
if nameOverride != "" {
|
||||
modelName = nameOverride
|
||||
}
|
||||
@@ -165,7 +165,7 @@ func (b definitionBuilder) buildProperty(field reflect.StructField, model *spec.
|
||||
prop.Type = []string{pType}
|
||||
}
|
||||
if prop.Format == "" {
|
||||
prop.Format = b.jsonSchemaFormat(b.keyFrom(fieldType))
|
||||
prop.Format = b.jsonSchemaFormat(keyFrom(fieldType, b.Config))
|
||||
}
|
||||
return jsonName, modelDescription, prop
|
||||
}
|
||||
@@ -200,17 +200,18 @@ func (b definitionBuilder) buildProperty(field reflect.StructField, model *spec.
|
||||
return jsonName, modelDescription, prop
|
||||
}
|
||||
|
||||
fieldTypeName := b.keyFrom(fieldType)
|
||||
fieldTypeName := keyFrom(fieldType, b.Config)
|
||||
if b.isPrimitiveType(fieldTypeName) {
|
||||
mapped := b.jsonSchemaType(fieldTypeName)
|
||||
prop.Type = []string{mapped}
|
||||
prop.Format = b.jsonSchemaFormat(fieldTypeName)
|
||||
return jsonName, modelDescription, prop
|
||||
}
|
||||
modelType := b.keyFrom(fieldType)
|
||||
modelType := keyFrom(fieldType, b.Config)
|
||||
prop.Ref = spec.MustCreateRef("#/definitions/" + modelType)
|
||||
|
||||
if fieldType.Name() == "" { // override type of anonymous structs
|
||||
// FIXME: Still need a way to handle anonymous struct model naming.
|
||||
nestedTypeName := modelName + "." + jsonName
|
||||
prop.Ref = spec.MustCreateRef("#/definitions/" + nestedTypeName)
|
||||
b.addModel(fieldType, nestedTypeName)
|
||||
@@ -237,6 +238,7 @@ func (b definitionBuilder) buildStructTypeProperty(field reflect.StructField, js
|
||||
// check for anonymous
|
||||
if len(fieldType.Name()) == 0 {
|
||||
// anonymous
|
||||
// FIXME: Still need a way to handle anonymous struct model naming.
|
||||
anonType := model.ID + "." + jsonName
|
||||
b.addModel(fieldType, anonType)
|
||||
prop.Ref = spec.MustCreateRef("#/definitions/" + anonType)
|
||||
@@ -247,7 +249,7 @@ func (b definitionBuilder) buildStructTypeProperty(field reflect.StructField, js
|
||||
// embedded struct
|
||||
sub := definitionBuilder{make(spec.Definitions), b.Config}
|
||||
sub.addModel(fieldType, "")
|
||||
subKey := sub.keyFrom(fieldType)
|
||||
subKey := keyFrom(fieldType, b.Config)
|
||||
// merge properties from sub
|
||||
subModel, _ := sub.Definitions[subKey]
|
||||
for k, v := range subModel.Properties {
|
||||
@@ -277,7 +279,7 @@ func (b definitionBuilder) buildStructTypeProperty(field reflect.StructField, js
|
||||
}
|
||||
// simple struct
|
||||
b.addModel(fieldType, "")
|
||||
var pType = b.keyFrom(fieldType)
|
||||
var pType = keyFrom(fieldType, b.Config)
|
||||
prop.Ref = spec.MustCreateRef("#/definitions/" + pType)
|
||||
return jsonName, prop
|
||||
}
|
||||
@@ -370,7 +372,7 @@ func (b definitionBuilder) buildPointerTypeProperty(field reflect.StructField, j
|
||||
}
|
||||
} else {
|
||||
// non-array, pointer type
|
||||
fieldTypeName := b.keyFrom(fieldType.Elem())
|
||||
fieldTypeName := keyFrom(fieldType.Elem(), b.Config)
|
||||
var pType = b.jsonSchemaType(fieldTypeName) // no star, include pkg path
|
||||
if b.isPrimitiveType(fieldTypeName) {
|
||||
prop.Type = []string{pType}
|
||||
@@ -395,13 +397,13 @@ func (b definitionBuilder) getElementTypeName(modelName, jsonName string, t refl
|
||||
if t.Name() == "" {
|
||||
return modelName + "." + jsonName
|
||||
}
|
||||
return b.keyFrom(t)
|
||||
return keyFrom(t, b.Config)
|
||||
}
|
||||
|
||||
func (b definitionBuilder) keyFrom(st reflect.Type) string {
|
||||
func keyFrom(st reflect.Type, cfg Config) string {
|
||||
key := st.String()
|
||||
if b.Config.ModelTypeNameHandler != nil {
|
||||
if name, ok := b.Config.ModelTypeNameHandler(st); ok {
|
||||
if cfg.ModelTypeNameHandler != nil {
|
||||
if name, ok := cfg.ModelTypeNameHandler(st); ok {
|
||||
key = name
|
||||
}
|
||||
}
|
||||
|
||||
7
vendor/github.com/emicklei/go-restful-openapi/spec_resource.go
generated
vendored
Normal file → Executable file
7
vendor/github.com/emicklei/go-restful-openapi/spec_resource.go
generated
vendored
Normal file → Executable file
@@ -30,6 +30,13 @@ func BuildSwagger(config Config) *spec.Swagger {
|
||||
|
||||
for _, each := range config.WebServices {
|
||||
for path, item := range buildPaths(each, config).Paths {
|
||||
existingPathItem, ok := paths.Paths[path]
|
||||
if ok {
|
||||
for _, r := range each.Routes() {
|
||||
_, patterns := sanitizePath(r.Path)
|
||||
item = buildPathItem(each, r, existingPathItem, patterns, config)
|
||||
}
|
||||
}
|
||||
paths.Paths[path] = item
|
||||
}
|
||||
for name, def := range buildDefinitions(each, config) {
|
||||
|
||||
Reference in New Issue
Block a user