http

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContentTypeHeaderName      = "Content-Type"
	ContentTypeTextPlain       = "text/plain"
	ContentTypeApplicationJSON = "application/json"
)
View Source
const (
	PathParameterProcessID PathParameter = "process_id"
	PathParameterTaskID    PathParameter = "task_id"

	ResourcePathTask           ResourcePath = "/processes/{process_id}/tasks/{task_id}"
	ResourcePathTaskCompletion ResourcePath = "/processes/{process_id}/tasks/{task_id}/completion"
	ResourcePathProcess        ResourcePath = "/processes/{process_id}"

	MethodGet Method = http.MethodGet
	MethodPut Method = http.MethodPut
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Completion

type Completion struct {
	State        CompletionState `json:"state"`
	ErrorMessage *string         `json:"errorMessage,omitempty"`
}

func UnmarshalCompletion

func UnmarshalCompletion(marshalledCompletion string) (completion Completion, err error)

func (Completion) JSON

func (completion Completion) JSON() string

type CompletionState

type CompletionState string
const (
	CompletionStateError     CompletionState = "ERROR"
	CompletionStateCompleted CompletionState = "COMPLETED"
)

type Method

type Method string

type PathParameter

type PathParameter string

type Process

type Process struct {
	ID           string        `json:"id"`
	State        process.State `json:"state"`
	StateMessage *string       `json:"stateMessage,omitempty"`
}

func ConvertInternalToHTTPProcess

func ConvertInternalToHTTPProcess(proc process.Process) Process

func (Process) JSON

func (proc Process) JSON() string

type ProcessGetter

type ProcessGetter struct {
	// contains filtered or unexported fields
}

func NewProcessGetter

func NewProcessGetter(requestExecutor requestExecutor) *ProcessGetter

func (*ProcessGetter) Get

func (getter *ProcessGetter) Get(processID string) (*process.Process, error)

type Request

type Request struct {
	Method         Method
	ResourcePath   ResourcePath
	Body           string
	PathParameters map[PathParameter]string
}

func (Request) FullURL

func (request Request) FullURL(baseURL string) string

type RequestHandler added in v1.1.0

type RequestHandler interface {
	HandleRequest(request Request) (Response, error)
}

type RequestsHandlersMap added in v1.1.0

type RequestsHandlersMap map[ResourcePath]map[Method]RequestHandler

type ResourcePath

type ResourcePath string

type Response

type Response struct {
	StatusCode int
	Body       string
	Headers    map[string]string
}

func CreateDefaultTextResponseWithStatus added in v1.1.0

func CreateDefaultTextResponseWithStatus(statusCode int) Response

type Router added in v1.1.0

type Router struct {
	// contains filtered or unexported fields
}

func NewRouter added in v1.1.0

func NewRouter(requestsHandlers RequestsHandlersMap) *Router

func (*Router) Route added in v1.1.0

func (router *Router) Route(request Request) Response

type Task

type Task struct {
	ExpirationTime time.Time `json:"expirationTime"`
}

func UnmarshalTask

func UnmarshalTask(marshalledTask string) (task Task, err error)

func (Task) JSON

func (task Task) JSON() string

type TaskCompleter

type TaskCompleter struct {
	// contains filtered or unexported fields
}

func NewTaskCompleter

func NewTaskCompleter(requestExecutor requestExecutor) *TaskCompleter

func (*TaskCompleter) Complete

func (completer *TaskCompleter) Complete(request task.CompleteRequest) (task.CompletingResult, error)

type TaskRegisterer

type TaskRegisterer struct {
	// contains filtered or unexported fields
}

func NewTaskRegisterer

func NewTaskRegisterer(requestExecutor requestExecutor) *TaskRegisterer

func (*TaskRegisterer) Register

func (registerer *TaskRegisterer) Register(registrationData task.RegistrationData) (task.RegistrationResult, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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