code: func NewAuthSampleAPI(spec *loads.Document) *AuthSampleAPI {
  	return &AuthSampleAPI{
  		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(),
  		CustomersCreateHandler: customers.CreateHandlerFunc(func(params customers.CreateParams, principal *models.Principal) middleware.Responder {
  			return middleware.NotImplemented("operation CustomersCreate has not yet been implemented")
  		}),
  		CustomersGetIDHandler: customers.GetIDHandlerFunc(func(params customers.GetIDParams, principal *models.Principal) middleware.Responder {
  			return middleware.NotImplemented("operation CustomersGetID has not yet been implemented")
  		}),
  
  		// Applies when the "x-token" header is set
  		KeyAuth: func(token string) (*models.Principal, error) {
  			return nil, errors.NotImplemented("api key auth (key) x-token from header param [x-token] has not yet been implemented")
  		},
  
  		// default authorizer is authorized meaning no requests are blocked
  		APIAuthorizer: security.Authorized(),
  	}
  }
docs: // NewAuthSampleAPI creates a new AuthSample instance