| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package shared
- import (
- "github.com/porter-dev/porter/api/server/shared/config"
- "github.com/porter-dev/porter/api/types"
- )
- type APIEndpoint struct {
- Metadata *types.APIRequestMetadata
- DecoderValidator RequestDecoderValidator
- Writer ResultWriter
- }
- type APIEndpointFactory interface {
- NewAPIEndpoint(metadata *types.APIRequestMetadata) *APIEndpoint
- GetDecoderValidator() RequestDecoderValidator
- GetResultWriter() ResultWriter
- }
- type APIObjectEndpointFactory struct {
- DecoderValidator RequestDecoderValidator
- ResultWriter ResultWriter
- }
- func NewAPIObjectEndpointFactory(conf *config.Config) APIEndpointFactory {
- decoderValidator := NewDefaultRequestDecoderValidator(conf.Logger, conf.Alerter)
- resultWriter := NewDefaultResultWriter(conf.Logger, conf.Alerter)
- return &APIObjectEndpointFactory{
- DecoderValidator: decoderValidator,
- ResultWriter: resultWriter,
- }
- }
- func (factory *APIObjectEndpointFactory) NewAPIEndpoint(
- metadata *types.APIRequestMetadata,
- ) *APIEndpoint {
- return &APIEndpoint{
- Metadata: metadata,
- DecoderValidator: factory.DecoderValidator,
- Writer: factory.ResultWriter,
- }
- }
- func (factory *APIObjectEndpointFactory) GetDecoderValidator() RequestDecoderValidator {
- return factory.DecoderValidator
- }
- func (factory *APIObjectEndpointFactory) GetResultWriter() ResultWriter {
- return factory.ResultWriter
- }
|