svc

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2025 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(o *Options)

Option defines a single option function.

func Config

func Config(val *config.Config) Option

Config provides a function to set the config option.

func Logger

func Logger(val log.Logger) Option

Logger provides a function to set the logger option.

func Middleware

func Middleware(val ...func(http.Handler) http.Handler) Option

Middleware provides a function to set the middleware option.

func TraceProvider

func TraceProvider(val trace.TracerProvider) Option

TraceProvider provides a function to set the traceProvider option.

type Options

type Options struct {
	Logger        log.Logger
	Config        *config.Config
	Middleware    []func(http.Handler) http.Handler
	TraceProvider trace.TracerProvider
}

Options defines the available options for this package.

type Props

type Props []xml.Name

Props represents properties related to a resource http://www.webdav.org/specs/rfc4918.html#ELEMENT_prop (for propfind)

type Service

type Service interface {
	ServeHTTP(w http.ResponseWriter, r *http.Request)
	Thumbnail(w http.ResponseWriter, r *http.Request)
}

Service defines the extension handlers.

func NewInstrument

func NewInstrument(next Service, metrics *metrics.Metrics) Service

NewInstrument returns a service that instruments metrics.

func NewLogging

func NewLogging(next Service, logger log.Logger) Service

NewLogging returns a service that logs messages.

func NewService

func NewService(opts ...Option) (Service, error)

NewService returns a service implementation for Service.

type Webdav

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

Webdav implements the business logic for Service.

func (Webdav) DavPublicContext

func (g Webdav) DavPublicContext() func(next http.Handler) http.Handler

func (Webdav) DavUserContext

func (g Webdav) DavUserContext() func(next http.Handler) http.Handler

func (Webdav) PublicThumbnail

func (g Webdav) PublicThumbnail(w http.ResponseWriter, r *http.Request)

func (Webdav) PublicThumbnailHead

func (g Webdav) PublicThumbnailHead(w http.ResponseWriter, r *http.Request)

func (Webdav) Search

func (g Webdav) Search(w http.ResponseWriter, r *http.Request)

Search is the endpoint for retrieving search results for REPORT requests

func (Webdav) ServeHTTP

func (g Webdav) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements the Service interface.

func (Webdav) SpacesThumbnail

func (g Webdav) SpacesThumbnail(w http.ResponseWriter, r *http.Request)

SpacesThumbnail is the endpoint for retrieving thumbnails inside of spaces.

func (Webdav) Thumbnail

func (g Webdav) Thumbnail(w http.ResponseWriter, r *http.Request)

Thumbnail implements the Service interface.

func (Webdav) WebDAVContext

func (g Webdav) WebDAVContext() func(next http.Handler) http.Handler

type XML

type XML struct {
	XMLName  xml.Name  `xml:"DAV: propfind"`
	Allprop  *struct{} `xml:"DAV: allprop"`
	Propname *struct{} `xml:"DAV: propname"`
	Prop     Props     `xml:"DAV: prop"`
	Include  Props     `xml:"DAV: include"`
}

XML holds the xml representation of a propfind http://www.webdav.org/specs/rfc4918.html#ELEMENT_propfind

Jump to

Keyboard shortcuts

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