diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-09 18:38:24 -0700 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-09 18:38:35 -0700 | 
| commit | fc3d70a256dbd45fdd54a21efa6abc49b554e8e2 (patch) | |
| tree | 5b1e8bdd9dc42494e36efd193964f1588c2190f7 /golang/restapi/operations/fatcat_api.go | |
| parent | f36836a6399022338ec02849da42f6f518c7a54f (diff) | |
| download | fatcat-fc3d70a256dbd45fdd54a21efa6abc49b554e8e2.tar.gz fatcat-fc3d70a256dbd45fdd54a21efa6abc49b554e8e2.zip  | |
rename golang directory
Diffstat (limited to 'golang/restapi/operations/fatcat_api.go')
| -rw-r--r-- | golang/restapi/operations/fatcat_api.go | 288 | 
1 files changed, 288 insertions, 0 deletions
diff --git a/golang/restapi/operations/fatcat_api.go b/golang/restapi/operations/fatcat_api.go new file mode 100644 index 00000000..7b60b34f --- /dev/null +++ b/golang/restapi/operations/fatcat_api.go @@ -0,0 +1,288 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( +	"fmt" +	"net/http" +	"strings" + +	errors "github.com/go-openapi/errors" +	loads "github.com/go-openapi/loads" +	runtime "github.com/go-openapi/runtime" +	middleware "github.com/go-openapi/runtime/middleware" +	security "github.com/go-openapi/runtime/security" +	spec "github.com/go-openapi/spec" +	strfmt "github.com/go-openapi/strfmt" +	"github.com/go-openapi/swag" +) + +// NewFatcatAPI creates a new Fatcat instance +func NewFatcatAPI(spec *loads.Document) *FatcatAPI { +	return &FatcatAPI{ +		handlers:            make(map[string]map[string]http.Handler), +		formats:             strfmt.Default, +		defaultConsumes:     "application/json", +		defaultProduces:     "application/json", +		customConsumers:     make(map[string]runtime.Consumer), +		customProducers:     make(map[string]runtime.Producer), +		ServerShutdown:      func() {}, +		spec:                spec, +		ServeError:          errors.ServeError, +		BasicAuthenticator:  security.BasicAuth, +		APIKeyAuthenticator: security.APIKeyAuth, +		BearerAuthenticator: security.BearerAuth, +		JSONConsumer:        runtime.JSONConsumer(), +		JSONProducer:        runtime.JSONProducer(), +		GetCreatorIDHandler: GetCreatorIDHandlerFunc(func(params GetCreatorIDParams) middleware.Responder { +			return middleware.NotImplemented("operation GetCreatorID has not yet been implemented") +		}), +		PostCreatorHandler: PostCreatorHandlerFunc(func(params PostCreatorParams) middleware.Responder { +			return middleware.NotImplemented("operation PostCreator has not yet been implemented") +		}), +	} +} + +/*FatcatAPI A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata */ +type FatcatAPI struct { +	spec            *loads.Document +	context         *middleware.Context +	handlers        map[string]map[string]http.Handler +	formats         strfmt.Registry +	customConsumers map[string]runtime.Consumer +	customProducers map[string]runtime.Producer +	defaultConsumes string +	defaultProduces string +	Middleware      func(middleware.Builder) http.Handler + +	// BasicAuthenticator generates a runtime.Authenticator from the supplied basic auth function. +	// It has a default implemention in the security package, however you can replace it for your particular usage. +	BasicAuthenticator func(security.UserPassAuthentication) runtime.Authenticator +	// APIKeyAuthenticator generates a runtime.Authenticator from the supplied token auth function. +	// It has a default implemention in the security package, however you can replace it for your particular usage. +	APIKeyAuthenticator func(string, string, security.TokenAuthentication) runtime.Authenticator +	// BearerAuthenticator generates a runtime.Authenticator from the supplied bearer token auth function. +	// It has a default implemention in the security package, however you can replace it for your particular usage. +	BearerAuthenticator func(string, security.ScopedTokenAuthentication) runtime.Authenticator + +	// JSONConsumer registers a consumer for a "application/json" mime type +	JSONConsumer runtime.Consumer + +	// JSONProducer registers a producer for a "application/json" mime type +	JSONProducer runtime.Producer + +	// GetCreatorIDHandler sets the operation handler for the get creator ID operation +	GetCreatorIDHandler GetCreatorIDHandler +	// PostCreatorHandler sets the operation handler for the post creator operation +	PostCreatorHandler PostCreatorHandler + +	// ServeError is called when an error is received, there is a default handler +	// but you can set your own with this +	ServeError func(http.ResponseWriter, *http.Request, error) + +	// ServerShutdown is called when the HTTP(S) server is shut down and done +	// handling all active connections and does not accept connections any more +	ServerShutdown func() + +	// Custom command line argument groups with their descriptions +	CommandLineOptionsGroups []swag.CommandLineOptionsGroup + +	// User defined logger function. +	Logger func(string, ...interface{}) +} + +// SetDefaultProduces sets the default produces media type +func (o *FatcatAPI) SetDefaultProduces(mediaType string) { +	o.defaultProduces = mediaType +} + +// SetDefaultConsumes returns the default consumes media type +func (o *FatcatAPI) SetDefaultConsumes(mediaType string) { +	o.defaultConsumes = mediaType +} + +// SetSpec sets a spec that will be served for the clients. +func (o *FatcatAPI) SetSpec(spec *loads.Document) { +	o.spec = spec +} + +// DefaultProduces returns the default produces media type +func (o *FatcatAPI) DefaultProduces() string { +	return o.defaultProduces +} + +// DefaultConsumes returns the default consumes media type +func (o *FatcatAPI) DefaultConsumes() string { +	return o.defaultConsumes +} + +// Formats returns the registered string formats +func (o *FatcatAPI) Formats() strfmt.Registry { +	return o.formats +} + +// RegisterFormat registers a custom format validator +func (o *FatcatAPI) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) { +	o.formats.Add(name, format, validator) +} + +// Validate validates the registrations in the FatcatAPI +func (o *FatcatAPI) Validate() error { +	var unregistered []string + +	if o.JSONConsumer == nil { +		unregistered = append(unregistered, "JSONConsumer") +	} + +	if o.JSONProducer == nil { +		unregistered = append(unregistered, "JSONProducer") +	} + +	if o.GetCreatorIDHandler == nil { +		unregistered = append(unregistered, "GetCreatorIDHandler") +	} + +	if o.PostCreatorHandler == nil { +		unregistered = append(unregistered, "PostCreatorHandler") +	} + +	if len(unregistered) > 0 { +		return fmt.Errorf("missing registration: %s", strings.Join(unregistered, ", ")) +	} + +	return nil +} + +// ServeErrorFor gets a error handler for a given operation id +func (o *FatcatAPI) ServeErrorFor(operationID string) func(http.ResponseWriter, *http.Request, error) { +	return o.ServeError +} + +// AuthenticatorsFor gets the authenticators for the specified security schemes +func (o *FatcatAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator { + +	return nil + +} + +// Authorizer returns the registered authorizer +func (o *FatcatAPI) Authorizer() runtime.Authorizer { + +	return nil + +} + +// ConsumersFor gets the consumers for the specified media types +func (o *FatcatAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer { + +	result := make(map[string]runtime.Consumer) +	for _, mt := range mediaTypes { +		switch mt { + +		case "application/json": +			result["application/json"] = o.JSONConsumer + +		} + +		if c, ok := o.customConsumers[mt]; ok { +			result[mt] = c +		} +	} +	return result + +} + +// ProducersFor gets the producers for the specified media types +func (o *FatcatAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer { + +	result := make(map[string]runtime.Producer) +	for _, mt := range mediaTypes { +		switch mt { + +		case "application/json": +			result["application/json"] = o.JSONProducer + +		} + +		if p, ok := o.customProducers[mt]; ok { +			result[mt] = p +		} +	} +	return result + +} + +// HandlerFor gets a http.Handler for the provided operation method and path +func (o *FatcatAPI) HandlerFor(method, path string) (http.Handler, bool) { +	if o.handlers == nil { +		return nil, false +	} +	um := strings.ToUpper(method) +	if _, ok := o.handlers[um]; !ok { +		return nil, false +	} +	if path == "/" { +		path = "" +	} +	h, ok := o.handlers[um][path] +	return h, ok +} + +// Context returns the middleware context for the fatcat API +func (o *FatcatAPI) Context() *middleware.Context { +	if o.context == nil { +		o.context = middleware.NewRoutableContext(o.spec, o, nil) +	} + +	return o.context +} + +func (o *FatcatAPI) initHandlerCache() { +	o.Context() // don't care about the result, just that the initialization happened + +	if o.handlers == nil { +		o.handlers = make(map[string]map[string]http.Handler) +	} + +	if o.handlers["GET"] == nil { +		o.handlers["GET"] = make(map[string]http.Handler) +	} +	o.handlers["GET"]["/creator/{id}"] = NewGetCreatorID(o.context, o.GetCreatorIDHandler) + +	if o.handlers["POST"] == nil { +		o.handlers["POST"] = make(map[string]http.Handler) +	} +	o.handlers["POST"]["/creator"] = NewPostCreator(o.context, o.PostCreatorHandler) + +} + +// Serve creates a http handler to serve the API over HTTP +// can be used directly in http.ListenAndServe(":8000", api.Serve(nil)) +func (o *FatcatAPI) Serve(builder middleware.Builder) http.Handler { +	o.Init() + +	if o.Middleware != nil { +		return o.Middleware(builder) +	} +	return o.context.APIHandler(builder) +} + +// Init allows you to just initialize the handler cache, you can then recompose the middleware as you see fit +func (o *FatcatAPI) Init() { +	if len(o.handlers) == 0 { +		o.initHandlerCache() +	} +} + +// RegisterConsumer allows you to add (or override) a consumer for a media type. +func (o *FatcatAPI) RegisterConsumer(mediaType string, consumer runtime.Consumer) { +	o.customConsumers[mediaType] = consumer +} + +// RegisterProducer allows you to add (or override) a producer for a media type. +func (o *FatcatAPI) RegisterProducer(mediaType string, producer runtime.Producer) { +	o.customProducers[mediaType] = producer +}  | 
