47 lines
1.8 KiB
Go
47 lines
1.8 KiB
Go
|
package swagger
|
||
|
|
||
|
import (
|
||
|
"net/http"
|
||
|
"reflect"
|
||
|
|
||
|
"github.com/emicklei/go-restful"
|
||
|
)
|
||
|
|
||
|
// PostBuildDeclarationMapFunc can be used to modify the api declaration map.
|
||
|
type PostBuildDeclarationMapFunc func(apiDeclarationMap *ApiDeclarationList)
|
||
|
|
||
|
// MapSchemaFormatFunc can be used to modify typeName at definition time.
|
||
|
type MapSchemaFormatFunc func(typeName string) string
|
||
|
|
||
|
// MapModelTypeNameFunc can be used to return the desired typeName for a given
|
||
|
// type. It will return false if the default name should be used.
|
||
|
type MapModelTypeNameFunc func(t reflect.Type) (string, bool)
|
||
|
|
||
|
type Config struct {
|
||
|
// url where the services are available, e.g. http://localhost:8080
|
||
|
// if left empty then the basePath of Swagger is taken from the actual request
|
||
|
WebServicesUrl string
|
||
|
// path where the JSON api is avaiable , e.g. /apidocs
|
||
|
ApiPath string
|
||
|
// [optional] path where the swagger UI will be served, e.g. /swagger
|
||
|
SwaggerPath string
|
||
|
// [optional] location of folder containing Swagger HTML5 application index.html
|
||
|
SwaggerFilePath string
|
||
|
// api listing is constructed from this list of restful WebServices.
|
||
|
WebServices []*restful.WebService
|
||
|
// will serve all static content (scripts,pages,images)
|
||
|
StaticHandler http.Handler
|
||
|
// [optional] on default CORS (Cross-Origin-Resource-Sharing) is enabled.
|
||
|
DisableCORS bool
|
||
|
// Top-level API version. Is reflected in the resource listing.
|
||
|
ApiVersion string
|
||
|
// If set then call this handler after building the complete ApiDeclaration Map
|
||
|
PostBuildHandler PostBuildDeclarationMapFunc
|
||
|
// Swagger global info struct
|
||
|
Info Info
|
||
|
// [optional] If set, model builder should call this handler to get addition typename-to-swagger-format-field conversion.
|
||
|
SchemaFormatHandler MapSchemaFormatFunc
|
||
|
// [optional] If set, model builder should call this handler to retrieve the name for a given type.
|
||
|
ModelTypeNameHandler MapModelTypeNameFunc
|
||
|
}
|