types

package
v0.0.0-...-d6efe1e Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

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

Code generated by github.com/deepmap/oapi-codegen version v1.13.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

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

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

func HandlerFromMuxWithBaseURL

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

func HandlerWithOptions

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

HandlerWithOptions creates http.Handler with additional options

func NewCreateNewPostRequest

func NewCreateNewPostRequest(server string, body CreateNewPostJSONRequestBody) (*http.Request, error)

NewCreateNewPostRequest calls the generic CreateNewPost builder with application/json body

func NewCreateNewPostRequestWithBody

func NewCreateNewPostRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)

NewCreateNewPostRequestWithBody generates requests for CreateNewPost with any type of body

func NewGetAllPostsRequest

func NewGetAllPostsRequest(server string) (*http.Request, error)

NewGetAllPostsRequest generates requests for GetAllPosts

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

Types

type ChiServerOptions

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

type Client

type Client struct {
	// The endpoint of the server conforming to this interface, with scheme,
	// https://api.deepmap.com for example. This can contain a path relative
	// to the server, such as https://api.deepmap.com/dev-test, and all the
	// paths in the swagger spec will be appended to the server.
	Server string

	// Doer for performing requests, typically a *http.Client with any
	// customized settings, such as certificate chains.
	Client HttpRequestDoer

	// A list of callbacks for modifying requests which are generated before sending over
	// the network.
	RequestEditors []RequestEditorFn
}

Client which conforms to the OpenAPI3 specification for this service.

func NewClient

func NewClient(server string, opts ...ClientOption) (*Client, error)

Creates a new Client, with reasonable defaults

func (*Client) CreateNewPost

func (c *Client) CreateNewPost(ctx context.Context, body CreateNewPostJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) CreateNewPostWithBody

func (c *Client) CreateNewPostWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetAllPosts

func (c *Client) GetAllPosts(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)

type ClientInterface

type ClientInterface interface {
	// GetAllPosts request
	GetAllPosts(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateNewPost request with any body
	CreateNewPostWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	CreateNewPost(ctx context.Context, body CreateNewPostJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
}

The interface specification for the client above.

type ClientOption

type ClientOption func(*Client) error

ClientOption allows setting custom parameters during construction

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL overrides the baseURL.

func WithHTTPClient

func WithHTTPClient(doer HttpRequestDoer) ClientOption

WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.

func WithRequestEditorFn

func WithRequestEditorFn(fn RequestEditorFn) ClientOption

WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.

type ClientWithResponses

type ClientWithResponses struct {
	ClientInterface
}

ClientWithResponses builds on ClientInterface to offer response payloads

func NewClientWithResponses

func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)

NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling

func (*ClientWithResponses) CreateNewPostWithBodyWithResponse

func (c *ClientWithResponses) CreateNewPostWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateNewPostResponse, error)

CreateNewPostWithBodyWithResponse request with arbitrary body returning *CreateNewPostResponse

func (*ClientWithResponses) CreateNewPostWithResponse

func (c *ClientWithResponses) CreateNewPostWithResponse(ctx context.Context, body CreateNewPostJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateNewPostResponse, error)

func (*ClientWithResponses) GetAllPostsWithResponse

func (c *ClientWithResponses) GetAllPostsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetAllPostsResponse, error)

GetAllPostsWithResponse request returning *GetAllPostsResponse

type ClientWithResponsesInterface

type ClientWithResponsesInterface interface {
	// GetAllPosts request
	GetAllPostsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetAllPostsResponse, error)

	// CreateNewPost request with any body
	CreateNewPostWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateNewPostResponse, error)

	CreateNewPostWithResponse(ctx context.Context, body CreateNewPostJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateNewPostResponse, error)
}

ClientWithResponsesInterface is the interface specification for the client with responses above.

type Comment

type Comment struct {
	CreatedAt   time.Time `json:"createdAt"`
	Description string    `json:"description"`
	Id          string    `json:"id"`
	PostId      int       `json:"postId"`
}

Comment defines model for Comment.

type CreateNewPostJSONBody

type CreateNewPostJSONBody struct {
	Description string `json:"description"`
	IsAnon      bool   `json:"isAnon"`
	Title       string `json:"title"`
	Type        string `json:"type"`
}

CreateNewPostJSONBody defines parameters for CreateNewPost.

type CreateNewPostJSONRequestBody

type CreateNewPostJSONRequestBody CreateNewPostJSONBody

CreateNewPostJSONRequestBody defines body for CreateNewPost for application/json ContentType.

type CreateNewPostResponse

type CreateNewPostResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *Post
}

func ParseCreateNewPostResponse

func ParseCreateNewPostResponse(rsp *http.Response) (*CreateNewPostResponse, error)

ParseCreateNewPostResponse parses an HTTP response from a CreateNewPostWithResponse call

func (CreateNewPostResponse) Status

func (r CreateNewPostResponse) Status() string

Status returns HTTPResponse.Status

func (CreateNewPostResponse) StatusCode

func (r CreateNewPostResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CreatePost

type CreatePost struct {
	Description string `json:"description"`
	IsAnon      bool   `json:"isAnon"`
	Title       string `json:"title"`
	Type        string `json:"type"`
}

CreatePost defines model for CreatePost.

type GetAllPostsResponse

type GetAllPostsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON2XX      *struct {
		Posts *[]Post `json:"posts,omitempty"`
	}
}

func ParseGetAllPostsResponse

func ParseGetAllPostsResponse(rsp *http.Response) (*GetAllPostsResponse, error)

ParseGetAllPostsResponse parses an HTTP response from a GetAllPostsWithResponse call

func (GetAllPostsResponse) Status

func (r GetAllPostsResponse) Status() string

Status returns HTTPResponse.Status

func (GetAllPostsResponse) StatusCode

func (r GetAllPostsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type HttpRequestDoer

type HttpRequestDoer interface {
	Do(req *http.Request) (*http.Response, error)
}

Doer performs HTTP requests.

The standard http.Client implements this interface.

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 Post

type Post struct {
	Comments    *Comment  `json:"comments,omitempty"`
	CreatedAt   time.Time `json:"createdAt"`
	Description string    `json:"description"`
	Id          int       `json:"id"`
	IsAnon      bool      `json:"isAnon"`
	Title       string    `json:"title"`
	Type        int       `json:"type"`
	UserId      string    `json:"userId"`
}

Post defines model for Post.

type RequestEditorFn

type RequestEditorFn func(ctx context.Context, req *http.Request) error

RequestEditorFn is the function signature for the RequestEditor callback function

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 {
	// Your GET endpoint
	// (GET /v1/posts)
	GetAllPosts(w http.ResponseWriter, r *http.Request)
	// Your POST endpoint
	// (POST /v1/posts)
	CreateNewPost(w http.ResponseWriter, r *http.Request)
}

ServerInterface represents all server handlers.

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) CreateNewPost

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

CreateNewPost operation middleware

func (*ServerInterfaceWrapper) GetAllPosts

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

GetAllPosts operation middleware

type State

type State struct {
	Code string `json:"code"`
	Id   string `json:"id"`
	Name string `json:"name"`
}

State defines model for State.

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 UnmarshallingParamError

type UnmarshallingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshallingParamError) Error

func (e *UnmarshallingParamError) Error() string

func (*UnmarshallingParamError) Unwrap

func (e *UnmarshallingParamError) Unwrap() error

type User

type User struct {
	// CreatedAt The date that the user was created.
	CreatedAt *openapi_types.Date  `json:"createdAt,omitempty"`
	Email     *openapi_types.Email `json:"email,omitempty"`
	FirstName string               `json:"firstName"`

	// Id Unique identifier for the given user.
	Id         string `json:"id"`
	IsVerified bool   `json:"isVerified"`
	LastName   string `json:"lastName"`
	State      State  `json:"state"`
}

User defines model for User.

Jump to

Keyboard shortcuts

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