| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package handlers
- import (
- "net/http"
- "github.com/porter-dev/porter/api/server/shared"
- "github.com/porter-dev/porter/api/server/shared/apierrors"
- "github.com/porter-dev/porter/internal/repository"
- )
- type PorterHandler interface {
- Config() *shared.Config
- Repo() repository.Repository
- HandleAPIError(w http.ResponseWriter, err apierrors.RequestError)
- }
- type PorterHandlerWriter interface {
- PorterHandler
- WriteResult(w http.ResponseWriter, v interface{})
- }
- type PorterHandlerReader interface {
- PorterHandler
- DecodeAndValidate(w http.ResponseWriter, r *http.Request, v interface{}) bool
- DecodeAndValidateNoWrite(r *http.Request, v interface{}) error
- }
- type PorterHandlerReadWriter interface {
- PorterHandlerWriter
- PorterHandlerReader
- }
- type DefaultPorterHandler struct {
- config *shared.Config
- decoderValidator shared.RequestDecoderValidator
- writer shared.ResultWriter
- }
- func NewDefaultPorterHandler(
- config *shared.Config,
- decoderValidator shared.RequestDecoderValidator,
- writer shared.ResultWriter,
- ) PorterHandlerReadWriter {
- return &DefaultPorterHandler{config, decoderValidator, writer}
- }
- func (d *DefaultPorterHandler) Config() *shared.Config {
- return d.config
- }
- func (d *DefaultPorterHandler) Repo() repository.Repository {
- return d.config.Repo
- }
- func (d *DefaultPorterHandler) HandleAPIError(w http.ResponseWriter, err apierrors.RequestError) {
- apierrors.HandleAPIError(w, d.Config().Logger, err)
- }
- func (d *DefaultPorterHandler) WriteResult(w http.ResponseWriter, v interface{}) {
- d.writer.WriteResult(w, v)
- }
- func (d *DefaultPorterHandler) DecodeAndValidate(w http.ResponseWriter, r *http.Request, v interface{}) bool {
- return d.decoderValidator.DecodeAndValidate(w, r, v)
- }
- func (d *DefaultPorterHandler) DecodeAndValidateNoWrite(r *http.Request, v interface{}) error {
- return d.decoderValidator.DecodeAndValidateNoWrite(r, v)
- }
- func IgnoreAPIError(w http.ResponseWriter, err apierrors.RequestError) {
- return
- }
|