http

package
v1.10.3 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2023 License: Apache-2.0 Imports: 59 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertEventToBytes added in v1.10.0

func ConvertEventToBytes(event interface{}, contentType string) ([]byte, error)

func GetStatusCodeFromMetadata

func GetStatusCodeFromMetadata(metadata map[string]string) int

GetStatusCodeFromMetadata extracts the http status code from the metadata if it exists.

Types

type API

type API interface {
	APIEndpoints() []Endpoint
	PublicEndpoints() []Endpoint
	MarkStatusAsReady()
	MarkStatusAsOutboundReady()
	SetAppChannel(appChannel channel.AppChannel)
	SetDirectMessaging(directMessaging messaging.DirectMessaging)
	SetActorRuntime(actor actors.Actors)
}

API returns a list of HTTP endpoints for Dapr.

func NewAPI

func NewAPI(opts APIOpts) API

NewAPI returns a new API.

type APIOpts added in v1.10.0

type APIOpts struct {
	AppID                       string
	AppChannel                  channel.AppChannel
	DirectMessaging             messaging.DirectMessaging
	GetComponentsFn             func() []componentsV1alpha1.Component
	GetSubscriptionsFn          func() ([]runtimePubsub.Subscription, error)
	Resiliency                  resiliency.Provider
	StateStores                 map[string]state.Store
	WorkflowsComponents         map[string]wfs.Workflow
	LockStores                  map[string]lock.Store
	SecretStores                map[string]secretstores.SecretStore
	SecretsConfiguration        map[string]config.SecretsScope
	ConfigurationStores         map[string]configuration.Store
	PubsubAdapter               runtimePubsub.Adapter
	Actor                       actors.Actors
	SendToOutputBindingFn       func(name string, req *bindings.InvokeRequest) (*bindings.InvokeResponse, error)
	TracingSpec                 config.TracingSpec
	Shutdown                    func()
	GetComponentsCapabilitiesFn func() map[string][]string
	MaxRequestBodySize          int64 // In bytes
	IsStreamingEnabled          bool
}

APIOpts contains the options for NewAPI.

type BulkGetRequest added in v0.10.0

type BulkGetRequest struct {
	Metadata    map[string]string `json:"metadata"`
	Keys        []string          `json:"keys"`
	Parallelism int               `json:"parallelism"`
}

BulkGetRequest is the request object to get a list of values for multiple keys from a state store.

type BulkGetResponse added in v0.10.0

type BulkGetResponse struct {
	Key      string            `json:"key"`
	Data     json.RawMessage   `json:"data,omitempty"`
	ETag     *string           `json:"etag,omitempty"`
	Metadata map[string]string `json:"metadata,omitempty"`
	Error    string            `json:"error,omitempty"`
}

BulkGetResponse is the response object for a state bulk get operation.

type BulkPublishResponse added in v1.10.0

type BulkPublishResponse struct {
	FailedEntries []BulkPublishResponseFailedEntry `json:"failedEntries"`
	ErrorCode     string                           `json:"errorCode,omitempty"`
}

BulkPublishResponse is the response for bulk publishing events

type BulkPublishResponseFailedEntry added in v1.10.0

type BulkPublishResponseFailedEntry struct {
	EntryId string `json:"entryId"` //nolint:stylecheck
	Error   string `json:"error,omitempty"`
}

BulkPublishResponseEntry is an object representing a single entry in bulk publish response

type Endpoint

type Endpoint struct {
	Methods           []string
	Route             string
	Version           string
	Alias             string
	KeepParamUnescape bool // keep the param in path unescaped
	Handler           fasthttp.RequestHandler
	AlwaysAllowed     bool // Endpoint is always allowed regardless of API access rules
	IsHealthCheck     bool // Mark endpoint as healthcheck - for API logging purposes
}

Endpoint is a collection of route information for an Dapr API.

If an Alias, e.g. "hello", is provided along with the Route, e.g. "invoke/app-id/method/hello" and the Version, "v1.0", then two endpoints will be installed instead of one. Besiding the canonical Dapr API URL "/v1.0/invoke/app-id/method/hello", one another URL "/hello" is provided for the Alias. When Alias URL is used, extra infos are required to pass through HTTP headers, for example, application's ID.

type ErrorResponse

type ErrorResponse struct {
	ErrorCode string `json:"errorCode"`
	Message   string `json:"message"`
}

ErrorResponse is an HTTP response message sent back to calling clients by the Dapr Runtime HTTP API.

func NewErrorResponse

func NewErrorResponse(errorCode, message string) ErrorResponse

NewErrorResponse returns a new ErrorResponse.

type NewServerOpts added in v1.9.0

type NewServerOpts struct {
	API         API
	Config      ServerConfig
	TracingSpec config.TracingSpec
	MetricSpec  config.MetricSpec
	Pipeline    httpMiddleware.Pipeline
	APISpec     config.APISpec
}

NewServerOpts are the options for NewServer.

type OutputBindingRequest

type OutputBindingRequest struct {
	Metadata  map[string]string `json:"metadata"`
	Data      interface{}       `json:"data"`
	Operation string            `json:"operation"`
}

OutputBindingRequest is the request object to invoke an output binding.

type QueryItem added in v1.5.0

type QueryItem struct {
	Key   string          `json:"key"`
	Data  json.RawMessage `json:"data"`
	ETag  *string         `json:"etag,omitempty"`
	Error string          `json:"error,omitempty"`
}

QueryItem is an object representing a single entry in query results.

type QueryResponse added in v1.5.0

type QueryResponse struct {
	Results  []QueryItem       `json:"results"`
	Token    string            `json:"token,omitempty"`
	Metadata map[string]string `json:"metadata,omitempty"`
}

QueryResponse is the response object for querying state.

type Server

type Server interface {
	io.Closer
	StartNonBlocking() error
}

Server is an interface for the Dapr HTTP server.

func NewServer

func NewServer(opts NewServerOpts) Server

NewServer returns a new HTTP server.

type ServerConfig

type ServerConfig struct {
	AppID                   string
	HostAddress             string
	Port                    int
	APIListenAddresses      []string
	PublicPort              *int
	ProfilePort             int
	AllowedOrigins          string
	EnableProfiling         bool
	MaxRequestBodySize      int
	UnixDomainSocket        string
	ReadBufferSize          int
	EnableAPILogging        bool
	APILoggingObfuscateURLs bool
	APILogHealthChecks      bool
}

ServerConfig holds config values for an HTTP server.

type UnsubscribeConfigurationResponse added in v1.9.0

type UnsubscribeConfigurationResponse struct {
	Ok      bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

Jump to

Keyboard shortcuts

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