api

package
v0.0.0-...-0c5ca30 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrInternalServer

func ErrInternalServer(err error) render.Renderer

ErrInternalServer ...

func ErrInvalidRequest

func ErrInvalidRequest(err error) render.Renderer

ErrInvalidRequest ...

func ErrNotFound

func ErrNotFound(err error) render.Renderer

ErrNotFound ...

Types

type Api

type Api interface {
	CreateHandler(w http.ResponseWriter, r *http.Request)
	GetHandler(w http.ResponseWriter, r *http.Request)
	GetAllHandler(w http.ResponseWriter, r *http.Request)
}

Api interface

func New

func New(db *gorm.DB, logger *log.Logger) Api

New setups the API

type CreateRequest

type CreateRequest struct {
	Data *gimly.ShortURL `json:"data"`
}

CreateRequest ... example: {"data": {"title": "duayen", "url": "https://murat.duayen.dev"}}

func (*CreateRequest) Bind

func (req *CreateRequest) Bind(r *http.Request) error

Bind ...

type ErrResponse

type ErrResponse struct {
	Err        error  `json:"-"`
	StatusCode int    `json:"-"`
	StatusText string `json:"status"`
	ErrorText  string `json:"error,omitempty"`
}

ErrResponse ...

func (*ErrResponse) Render

func (e *ErrResponse) Render(w http.ResponseWriter, r *http.Request) error

Render ...

type ListResponse

type ListResponse struct {
	Data []db.URL `json:"data"`
}

ListResponse ...

func (*ListResponse) Render

func (e *ListResponse) Render(_ http.ResponseWriter, _ *http.Request) error

Render ...

type Response

type Response struct {
	ID   int     `json:"-"`
	Data *db.URL `json:"data"`
}

Response ...

func (*Response) Render

func (e *Response) Render(_ http.ResponseWriter, _ *http.Request) error

Render ...

Jump to

Keyboard shortcuts

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