api

package
v1.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package api provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var RequestErrorHandler = errorHandler{

	code:       "bad_request",
	statusCode: http.StatusBadRequest,
}.HandleError
View Source
var ResponseErrorHandler = errorHandler{

	code:       "internal_server_error",
	statusCode: http.StatusInternalServerError,
}.HandleError

Functions

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

func HandlerFromMux(si ServerInterface, r *mux.Router) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL

func HandlerFromMuxWithBaseURL(si ServerInterface, r *mux.Router, baseURL string) http.Handler

func HandlerWithOptions

func HandlerWithOptions(si ServerInterface, options GorillaServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

Types

type Context

type Context = ldcontext.Context

Context context object to use when evaluating flags in source environment

type DeleteFlagOverride204Response added in v1.6.0

type DeleteFlagOverride204Response struct {
}

func (DeleteFlagOverride204Response) VisitDeleteFlagOverrideResponse added in v1.6.0

func (response DeleteFlagOverride204Response) VisitDeleteFlagOverrideResponse(w http.ResponseWriter) error

type DeleteFlagOverride404Response added in v1.6.0

type DeleteFlagOverride404Response struct {
}

func (DeleteFlagOverride404Response) VisitDeleteFlagOverrideResponse added in v1.6.0

func (response DeleteFlagOverride404Response) VisitDeleteFlagOverrideResponse(w http.ResponseWriter) error

type DeleteFlagOverrideRequestObject added in v1.6.0

type DeleteFlagOverrideRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
	FlagKey    FlagKey    `json:"flagKey"`
}

type DeleteFlagOverrideResponseObject added in v1.6.0

type DeleteFlagOverrideResponseObject interface {
	VisitDeleteFlagOverrideResponse(w http.ResponseWriter) error
}

type DeleteProject204Response added in v1.6.0

type DeleteProject204Response struct {
}

func (DeleteProject204Response) VisitDeleteProjectResponse added in v1.6.0

func (response DeleteProject204Response) VisitDeleteProjectResponse(w http.ResponseWriter) error

type DeleteProject404JSONResponse added in v1.6.0

type DeleteProject404JSONResponse struct{ ErrorResponseJSONResponse }

func (DeleteProject404JSONResponse) VisitDeleteProjectResponse added in v1.6.0

func (response DeleteProject404JSONResponse) VisitDeleteProjectResponse(w http.ResponseWriter) error

type DeleteProjectRequestObject added in v1.6.0

type DeleteProjectRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
}

type DeleteProjectResponseObject added in v1.6.0

type DeleteProjectResponseObject interface {
	VisitDeleteProjectResponse(w http.ResponseWriter) error
}

type Environment added in v1.6.0

type Environment struct {
	Key  string `json:"key"`
	Name string `json:"name"`
}

Environment Environment

type ErrorResponse

type ErrorResponse struct {
	// Code specific error code encountered
	Code string `json:"code"`

	// Message description of the error
	Message string `json:"message"`
}

ErrorResponse defines model for ErrorResponse.

type ErrorResponseJSONResponse

type ErrorResponseJSONResponse struct {
	// Code specific error code encountered
	Code string `json:"code"`

	// Message description of the error
	Message string `json:"message"`
}

type FlagKey

type FlagKey = string

FlagKey defines model for flagKey.

type FlagOverride

type FlagOverride struct {
	// Override whether or not this is an overridden value or one from the source environment
	Override bool `json:"override"`

	// Value value of a feature flag variation
	Value FlagValue `json:"value"`
}

FlagOverride defines model for FlagOverride.

type FlagOverrideJSONResponse

type FlagOverrideJSONResponse struct {
	// Override whether or not this is an overridden value or one from the source environment
	Override bool `json:"override"`

	// Value value of a feature flag variation
	Value FlagValue `json:"value"`
}

type FlagValue

type FlagValue = ldvalue.Value

FlagValue value of a feature flag variation

type GetEnvironments200JSONResponse added in v1.6.0

type GetEnvironments200JSONResponse []Environment

func (GetEnvironments200JSONResponse) VisitGetEnvironmentsResponse added in v1.6.0

func (response GetEnvironments200JSONResponse) VisitGetEnvironmentsResponse(w http.ResponseWriter) error

type GetEnvironments400JSONResponse added in v1.6.0

type GetEnvironments400JSONResponse struct{ ErrorResponseJSONResponse }

func (GetEnvironments400JSONResponse) VisitGetEnvironmentsResponse added in v1.6.0

func (response GetEnvironments400JSONResponse) VisitGetEnvironmentsResponse(w http.ResponseWriter) error

type GetEnvironments404JSONResponse added in v1.6.0

type GetEnvironments404JSONResponse struct {
	// Code specific error code encountered
	Code string `json:"code"`

	// Message description of the error
	Message string `json:"message"`
}

func (GetEnvironments404JSONResponse) VisitGetEnvironmentsResponse added in v1.6.0

func (response GetEnvironments404JSONResponse) VisitGetEnvironmentsResponse(w http.ResponseWriter) error

type GetEnvironmentsParams added in v1.7.1

type GetEnvironmentsParams struct {
	// Name filter by environment name
	Name *string `form:"name,omitempty" json:"name,omitempty"`

	// Limit limit the number of environments returned
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}

GetEnvironmentsParams defines parameters for GetEnvironments.

type GetEnvironmentsRequestObject added in v1.6.0

type GetEnvironmentsRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
	Params     GetEnvironmentsParams
}

type GetEnvironmentsResponseObject added in v1.6.0

type GetEnvironmentsResponseObject interface {
	VisitGetEnvironmentsResponse(w http.ResponseWriter) error
}

type GetProject200JSONResponse added in v1.6.0

type GetProject200JSONResponse struct{ ProjectJSONResponse }

func (GetProject200JSONResponse) VisitGetProjectResponse added in v1.6.0

func (response GetProject200JSONResponse) VisitGetProjectResponse(w http.ResponseWriter) error

type GetProject404Response added in v1.6.0

type GetProject404Response struct {
}

func (GetProject404Response) VisitGetProjectResponse added in v1.6.0

func (response GetProject404Response) VisitGetProjectResponse(w http.ResponseWriter) error

type GetProjectParams added in v1.6.0

type GetProjectParams struct {
	// Expand Available expand options for this endpoint.
	Expand *ProjectExpand `form:"expand,omitempty" json:"expand,omitempty"`
}

GetProjectParams defines parameters for GetProject.

type GetProjectParamsExpand added in v1.6.0

type GetProjectParamsExpand string

GetProjectParamsExpand defines parameters for GetProject.

const (
	GetProjectParamsExpandAvailableVariations GetProjectParamsExpand = "availableVariations"
	GetProjectParamsExpandOverrides           GetProjectParamsExpand = "overrides"
)

Defines values for GetProjectParamsExpand.

type GetProjectRequestObject added in v1.6.0

type GetProjectRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
	Params     GetProjectParams
}

type GetProjectResponseObject added in v1.6.0

type GetProjectResponseObject interface {
	VisitGetProjectResponse(w http.ResponseWriter) error
}

type GetProjects200JSONResponse added in v1.6.0

type GetProjects200JSONResponse []string

func (GetProjects200JSONResponse) VisitGetProjectsResponse added in v1.6.0

func (response GetProjects200JSONResponse) VisitGetProjectsResponse(w http.ResponseWriter) error

type GetProjectsRequestObject added in v1.6.0

type GetProjectsRequestObject struct {
}

type GetProjectsResponseObject added in v1.6.0

type GetProjectsResponseObject interface {
	VisitGetProjectsResponse(w http.ResponseWriter) error
}

type GorillaServerOptions

type GorillaServerOptions struct {
	BaseURL          string
	BaseRouter       *mux.Router
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type InvalidParamFormatError

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (*InvalidParamFormatError) Error

func (e *InvalidParamFormatError) Error() string

func (*InvalidParamFormatError) Unwrap

func (e *InvalidParamFormatError) Unwrap() error

type MiddlewareFunc

type MiddlewareFunc func(http.Handler) http.Handler

type PatchProject200JSONResponse added in v1.6.0

type PatchProject200JSONResponse struct{ ProjectJSONResponse }

func (PatchProject200JSONResponse) VisitPatchProjectResponse added in v1.6.0

func (response PatchProject200JSONResponse) VisitPatchProjectResponse(w http.ResponseWriter) error

type PatchProject404Response added in v1.6.0

type PatchProject404Response struct {
}

func (PatchProject404Response) VisitPatchProjectResponse added in v1.6.0

func (response PatchProject404Response) VisitPatchProjectResponse(w http.ResponseWriter) error

type PatchProjectJSONBody added in v1.6.0

type PatchProjectJSONBody struct {
	// Context context object to use when evaluating flags in source environment
	Context *Context `json:"context,omitempty"`

	// SourceEnvironmentKey environment to copy flag values from
	SourceEnvironmentKey *string `json:"sourceEnvironmentKey,omitempty"`
}

PatchProjectJSONBody defines parameters for PatchProject.

type PatchProjectJSONRequestBody added in v1.6.0

type PatchProjectJSONRequestBody PatchProjectJSONBody

PatchProjectJSONRequestBody defines body for PatchProject for application/json ContentType.

type PatchProjectParams added in v1.6.0

type PatchProjectParams struct {
	// Expand Available expand options for this endpoint.
	Expand *ProjectExpand `form:"expand,omitempty" json:"expand,omitempty"`
}

PatchProjectParams defines parameters for PatchProject.

type PatchProjectParamsExpand added in v1.6.0

type PatchProjectParamsExpand string

PatchProjectParamsExpand defines parameters for PatchProject.

const (
	PatchProjectParamsExpandAvailableVariations PatchProjectParamsExpand = "availableVariations"
	PatchProjectParamsExpandOverrides           PatchProjectParamsExpand = "overrides"
)

Defines values for PatchProjectParamsExpand.

type PatchProjectRequestObject added in v1.6.0

type PatchProjectRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
	Params     PatchProjectParams
	Body       *PatchProjectJSONRequestBody
}

type PatchProjectResponseObject added in v1.6.0

type PatchProjectResponseObject interface {
	VisitPatchProjectResponse(w http.ResponseWriter) error
}

type PostAddProject201JSONResponse added in v1.6.0

type PostAddProject201JSONResponse struct{ ProjectJSONResponse }

func (PostAddProject201JSONResponse) VisitPostAddProjectResponse added in v1.6.0

func (response PostAddProject201JSONResponse) VisitPostAddProjectResponse(w http.ResponseWriter) error

type PostAddProject400JSONResponse added in v1.6.0

type PostAddProject400JSONResponse struct{ ErrorResponseJSONResponse }

func (PostAddProject400JSONResponse) VisitPostAddProjectResponse added in v1.6.0

func (response PostAddProject400JSONResponse) VisitPostAddProjectResponse(w http.ResponseWriter) error

type PostAddProject409JSONResponse added in v1.6.0

type PostAddProject409JSONResponse struct {
	// Code specific error code encountered
	Code string `json:"code"`

	// Message description of the error
	Message string `json:"message"`
}

func (PostAddProject409JSONResponse) VisitPostAddProjectResponse added in v1.6.0

func (response PostAddProject409JSONResponse) VisitPostAddProjectResponse(w http.ResponseWriter) error

type PostAddProjectJSONBody added in v1.6.0

type PostAddProjectJSONBody struct {
	// Context context object to use when evaluating flags in source environment
	Context *Context `json:"context,omitempty"`

	// SourceEnvironmentKey environment to copy flag values from
	SourceEnvironmentKey string `json:"sourceEnvironmentKey"`
}

PostAddProjectJSONBody defines parameters for PostAddProject.

type PostAddProjectJSONRequestBody added in v1.6.0

type PostAddProjectJSONRequestBody PostAddProjectJSONBody

PostAddProjectJSONRequestBody defines body for PostAddProject for application/json ContentType.

type PostAddProjectParams added in v1.6.0

type PostAddProjectParams struct {
	// Expand Available expand options for this endpoint.
	Expand *ProjectExpand `form:"expand,omitempty" json:"expand,omitempty"`
}

PostAddProjectParams defines parameters for PostAddProject.

type PostAddProjectParamsExpand added in v1.6.0

type PostAddProjectParamsExpand string

PostAddProjectParamsExpand defines parameters for PostAddProject.

const (
	AvailableVariations PostAddProjectParamsExpand = "availableVariations"
	Overrides           PostAddProjectParamsExpand = "overrides"
)

Defines values for PostAddProjectParamsExpand.

type PostAddProjectRequestObject added in v1.6.0

type PostAddProjectRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
	Params     PostAddProjectParams
	Body       *PostAddProjectJSONRequestBody
}

type PostAddProjectResponseObject added in v1.6.0

type PostAddProjectResponseObject interface {
	VisitPostAddProjectResponse(w http.ResponseWriter) error
}

type Project

type Project struct {
	// LastSyncedFromSource unix timestamp for the lat time the flag values were synced from the source environment
	LastSyncedFromSource int64 `json:"_lastSyncedFromSource"`

	// AvailableVariations variations
	AvailableVariations *map[string][]Variation `json:"availableVariations,omitempty"`

	// Context context object to use when evaluating flags in source environment
	Context Context `json:"context"`

	// FlagsState flags and their values and version for a given project in the source environment
	FlagsState *model.FlagsState `json:"flagsState,omitempty"`

	// Overrides overridden flags for the project
	Overrides *model.FlagsState `json:"overrides,omitempty"`

	// SourceEnvironmentKey environment to copy flag values from
	SourceEnvironmentKey string `json:"sourceEnvironmentKey"`
}

Project Project

type ProjectExpand added in v1.5.0

type ProjectExpand = []string

ProjectExpand defines model for projectExpand.

type ProjectJSONResponse

type ProjectJSONResponse Project

type ProjectKey

type ProjectKey = string

ProjectKey defines model for projectKey.

type PutOverrideFlag200JSONResponse added in v1.6.0

type PutOverrideFlag200JSONResponse struct{ FlagOverrideJSONResponse }

func (PutOverrideFlag200JSONResponse) VisitPutOverrideFlagResponse added in v1.6.0

func (response PutOverrideFlag200JSONResponse) VisitPutOverrideFlagResponse(w http.ResponseWriter) error

type PutOverrideFlag400JSONResponse added in v1.6.0

type PutOverrideFlag400JSONResponse struct{ ErrorResponseJSONResponse }

func (PutOverrideFlag400JSONResponse) VisitPutOverrideFlagResponse added in v1.6.0

func (response PutOverrideFlag400JSONResponse) VisitPutOverrideFlagResponse(w http.ResponseWriter) error

type PutOverrideFlagJSONRequestBody added in v1.6.0

type PutOverrideFlagJSONRequestBody = FlagValue

PutOverrideFlagJSONRequestBody defines body for PutOverrideFlag for application/json ContentType.

type PutOverrideFlagRequestObject added in v1.6.0

type PutOverrideFlagRequestObject struct {
	ProjectKey ProjectKey `json:"projectKey"`
	FlagKey    FlagKey    `json:"flagKey"`
	Body       *PutOverrideFlagJSONRequestBody
}

type PutOverrideFlagResponseObject added in v1.6.0

type PutOverrideFlagResponseObject interface {
	VisitPutOverrideFlagResponse(w http.ResponseWriter) error
}

type RequiredHeaderError

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (*RequiredHeaderError) Error

func (e *RequiredHeaderError) Error() string

func (*RequiredHeaderError) Unwrap

func (e *RequiredHeaderError) Unwrap() error

type RequiredParamError

type RequiredParamError struct {
	ParamName string
}

func (*RequiredParamError) Error

func (e *RequiredParamError) Error() string

type ServerInterface

type ServerInterface interface {
	// lists all projects that have been configured for the dev server
	// (GET /dev/projects)
	GetProjects(w http.ResponseWriter, r *http.Request)
	// remove the specified project from the dev server
	// (DELETE /dev/projects/{projectKey})
	DeleteProject(w http.ResponseWriter, r *http.Request, projectKey ProjectKey)
	// get the specified project and its configuration for syncing from the LaunchDarkly Service
	// (GET /dev/projects/{projectKey})
	GetProject(w http.ResponseWriter, r *http.Request, projectKey ProjectKey, params GetProjectParams)
	// updates the project context or sourceEnvironmentKey then syncs.  Input an empty body to only force a sync.
	// (PATCH /dev/projects/{projectKey})
	PatchProject(w http.ResponseWriter, r *http.Request, projectKey ProjectKey, params PatchProjectParams)
	// Add the project to the dev server
	// (POST /dev/projects/{projectKey})
	PostAddProject(w http.ResponseWriter, r *http.Request, projectKey ProjectKey, params PostAddProjectParams)
	// list all environments for the given project
	// (GET /dev/projects/{projectKey}/environments)
	GetEnvironments(w http.ResponseWriter, r *http.Request, projectKey ProjectKey, params GetEnvironmentsParams)
	// remove override for flag
	// (DELETE /dev/projects/{projectKey}/overrides/{flagKey})
	DeleteFlagOverride(w http.ResponseWriter, r *http.Request, projectKey ProjectKey, flagKey FlagKey)
	// override flag value with value provided in the body
	// (PUT /dev/projects/{projectKey}/overrides/{flagKey})
	PutOverrideFlag(w http.ResponseWriter, r *http.Request, projectKey ProjectKey, flagKey FlagKey)
}

ServerInterface represents all server handlers.

func NewStrictHandler

func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface

func NewStrictHandlerWithOptions

func NewStrictHandlerWithOptions(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc, options StrictHTTPServerOptions) ServerInterface

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) DeleteFlagOverride added in v1.6.0

func (siw *ServerInterfaceWrapper) DeleteFlagOverride(w http.ResponseWriter, r *http.Request)

DeleteFlagOverride operation middleware

func (*ServerInterfaceWrapper) DeleteProject added in v1.6.0

func (siw *ServerInterfaceWrapper) DeleteProject(w http.ResponseWriter, r *http.Request)

DeleteProject operation middleware

func (*ServerInterfaceWrapper) GetEnvironments added in v1.6.0

func (siw *ServerInterfaceWrapper) GetEnvironments(w http.ResponseWriter, r *http.Request)

GetEnvironments operation middleware

func (*ServerInterfaceWrapper) GetProject added in v1.6.0

func (siw *ServerInterfaceWrapper) GetProject(w http.ResponseWriter, r *http.Request)

GetProject operation middleware

func (*ServerInterfaceWrapper) GetProjects added in v1.6.0

func (siw *ServerInterfaceWrapper) GetProjects(w http.ResponseWriter, r *http.Request)

GetProjects operation middleware

func (*ServerInterfaceWrapper) PatchProject added in v1.6.0

func (siw *ServerInterfaceWrapper) PatchProject(w http.ResponseWriter, r *http.Request)

PatchProject operation middleware

func (*ServerInterfaceWrapper) PostAddProject added in v1.6.0

func (siw *ServerInterfaceWrapper) PostAddProject(w http.ResponseWriter, r *http.Request)

PostAddProject operation middleware

func (*ServerInterfaceWrapper) PutOverrideFlag added in v1.6.0

func (siw *ServerInterfaceWrapper) PutOverrideFlag(w http.ResponseWriter, r *http.Request)

PutOverrideFlag operation middleware

type StrictHTTPServerOptions

type StrictHTTPServerOptions struct {
	RequestErrorHandlerFunc  func(w http.ResponseWriter, r *http.Request, err error)
	ResponseErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type StrictServerInterface

type StrictServerInterface interface {
	// lists all projects that have been configured for the dev server
	// (GET /dev/projects)
	GetProjects(ctx context.Context, request GetProjectsRequestObject) (GetProjectsResponseObject, error)
	// remove the specified project from the dev server
	// (DELETE /dev/projects/{projectKey})
	DeleteProject(ctx context.Context, request DeleteProjectRequestObject) (DeleteProjectResponseObject, error)
	// get the specified project and its configuration for syncing from the LaunchDarkly Service
	// (GET /dev/projects/{projectKey})
	GetProject(ctx context.Context, request GetProjectRequestObject) (GetProjectResponseObject, error)
	// updates the project context or sourceEnvironmentKey then syncs.  Input an empty body to only force a sync.
	// (PATCH /dev/projects/{projectKey})
	PatchProject(ctx context.Context, request PatchProjectRequestObject) (PatchProjectResponseObject, error)
	// Add the project to the dev server
	// (POST /dev/projects/{projectKey})
	PostAddProject(ctx context.Context, request PostAddProjectRequestObject) (PostAddProjectResponseObject, error)
	// list all environments for the given project
	// (GET /dev/projects/{projectKey}/environments)
	GetEnvironments(ctx context.Context, request GetEnvironmentsRequestObject) (GetEnvironmentsResponseObject, error)
	// remove override for flag
	// (DELETE /dev/projects/{projectKey}/overrides/{flagKey})
	DeleteFlagOverride(ctx context.Context, request DeleteFlagOverrideRequestObject) (DeleteFlagOverrideResponseObject, error)
	// override flag value with value provided in the body
	// (PUT /dev/projects/{projectKey}/overrides/{flagKey})
	PutOverrideFlag(ctx context.Context, request PutOverrideFlagRequestObject) (PutOverrideFlagResponseObject, error)
}

StrictServerInterface represents all server handlers.

func NewStrictServer

func NewStrictServer() StrictServerInterface

type TooManyValuesForParamError

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (*TooManyValuesForParamError) Error

type UnescapedCookieParamError

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (*UnescapedCookieParamError) Error

func (e *UnescapedCookieParamError) Error() string

func (*UnescapedCookieParamError) Unwrap

func (e *UnescapedCookieParamError) Unwrap() error

type UnmarshalingParamError

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshalingParamError) Error

func (e *UnmarshalingParamError) Error() string

func (*UnmarshalingParamError) Unwrap

func (e *UnmarshalingParamError) Unwrap() error

type Variation added in v1.5.0

type Variation struct {
	Id          string  `json:"_id"`
	Description *string `json:"description,omitempty"`
	Name        *string `json:"name,omitempty"`

	// Value value of a feature flag variation
	Value FlagValue `json:"value"`
}

Variation variation of a flag

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL