handler

package
v0.2.50 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: Apache-2.0 Imports: 78 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidSize          = fmt.Errorf("invalid size")
	ErrInvalidFileExtension = fmt.Errorf("invalid file extension")
	ErrInvalidBlurAmount    = fmt.Errorf("invalid blur amount")
)

Errors

Functions

func BuildQuery added in v0.1.27

func BuildQuery(v url.Values) string

BuildQuery builds a query parameter string for the given values It differs from the stdlib url.Values.Encode in that it encodes query parameters with an empty value as "?key" instead of "?key="

func ExampleIndex_indexing

func ExampleIndex_indexing()

func ExampleNew

func ExampleNew()

func HMAC added in v0.1.27

func HMAC(h *hmac.HMAC, path string, query url.Values) (string, error)

HMAC generates and appends an HMAC to a URL path + query params

Types

type DeploymentInfo added in v0.1.24

type DeploymentInfo struct {
	Username   string
	Password   string
	Host       string
	Port       string
	LocalPath  string
	RemotePath string
	Status     string
}

DeploymentInfo stores information about an ongoing deployment

type Error added in v0.1.27

type Error struct {
	Message string
	Code    int
}

Error is the message and http status code to return

func BadRequest added in v0.1.27

func BadRequest(message string) *Error

BadRequest is a convenience function for returning a bad request error

func InternalServerError added in v0.1.27

func InternalServerError() *Error

InternalServerError is a convenience function for returning an internal server error

type Handler

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

func New

func New(log loggers.Logger, db *database.Database,
	contentApp *contentEntity.Content, adminApp *adminEntity.Admin, auth *auth.Auth) *Handler

func (*Handler) ActivateLicenseHandler added in v0.2.3

func (s *Handler) ActivateLicenseHandler(res http.ResponseWriter, req *http.Request)

ActivateLicenseHandler 激活 License POST /api/license/activate 注意:只能激活已存在的 License,不会自动创建

func (*Handler) AddDomainHandler added in v0.2.5

func (s *Handler) AddDomainHandler(res http.ResponseWriter, req *http.Request)

AddDomainHandler 添加自定义域名 POST /api/license/domain/add

func (*Handler) AdminHandler

func (s *Handler) AdminHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ApiContentsHandler

func (s *Handler) ApiContentsHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ApproveContentHandler

func (s *Handler) ApproveContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) BlockDeviceHandler added in v0.2.3

func (s *Handler) BlockDeviceHandler(res http.ResponseWriter, req *http.Request)

BlockDeviceHandler 封禁设备 POST /api/license/device/block

func (*Handler) BlockIPHandler added in v0.2.3

func (s *Handler) BlockIPHandler(res http.ResponseWriter, req *http.Request)

BlockIPHandler 封禁 IP POST /api/license/ip/block

func (*Handler) BuildContentHandler

func (s *Handler) BuildContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) CTAHandler added in v0.2.1

func (s *Handler) CTAHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) CheckDomainHandler added in v0.2.5

func (s *Handler) CheckDomainHandler(res http.ResponseWriter, req *http.Request)

CheckDomainHandler 检查域名 DNS 配置(前置检测) POST /api/license/domain/check 注意:此 API 只检查 DNS,不检查 HTTPS 状态 HTTPS 状态请使用 /api/license/domain/https-status

func (*Handler) CheckInstanceStatus added in v0.2.47

func (s *Handler) CheckInstanceStatus(next http.HandlerFunc) http.HandlerFunc

func (*Handler) CheckSubDomainHandler added in v0.2.5

func (s *Handler) CheckSubDomainHandler(res http.ResponseWriter, req *http.Request)

CheckSubDomainHandler 检查 subdomain 是否可用 POST /api/license/subdomain/check

func (*Handler) ConfigHandler

func (s *Handler) ConfigHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ContentHandler

func (s *Handler) ContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ContentsHandler

func (s *Handler) ContentsHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ContentsTagsHandler added in v0.1.48

func (s *Handler) ContentsTagsHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) CounterHandler added in v0.2.2

func (s *Handler) CounterHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) CreateInstanceHandler added in v0.2.47

func (s *Handler) CreateInstanceHandler(res http.ResponseWriter, req *http.Request)

CreateInstanceHandler 创建实例 POST /api/instance/create

func (*Handler) DeleteContentHandler

func (s *Handler) DeleteContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) DeleteHandler

func (s *Handler) DeleteHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) DeleteUploadHandler

func (s *Handler) DeleteUploadHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) DeployContentHandler

func (s *Handler) DeployContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) DeployMDFridayPreviewFridayHandler added in v0.2.44

func (s *Handler) DeployMDFridayPreviewFridayHandler(res http.ResponseWriter, req *http.Request)

DeployMDFridayPreviewFridayHandler 处理 Friday 免费预览部署(不需要 token)

func (*Handler) DeployMDFridayPreviewHandler added in v0.2.1

func (s *Handler) DeployMDFridayPreviewHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) DeployProgressHandler added in v0.1.24

func (s *Handler) DeployProgressHandler(res http.ResponseWriter, req *http.Request)

DeployProgressHandler handles SSE connection for deployment progress

func (*Handler) DomainSSLStatusHandler added in v0.2.25

func (s *Handler) DomainSSLStatusHandler(res http.ResponseWriter, req *http.Request)

DomainSSLStatusHandler 查询自定义域名 HTTPS 状态 POST /api/license/domain/https-status

func (*Handler) EditHandler

func (s *Handler) EditHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) EditUploadHandler

func (s *Handler) EditUploadHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) GetDevicesHandler added in v0.2.3

func (s *Handler) GetDevicesHandler(res http.ResponseWriter, req *http.Request)

GetDevicesHandler 获取 License 的设备列表 GET /api/license/devices?key=xxx

func (*Handler) GetDisksHandler added in v0.2.3

func (s *Handler) GetDisksHandler(res http.ResponseWriter, req *http.Request)

GetDisksHandler 获取硬盘用量信息 GET /api/license/disks?key=xxx

func (*Handler) GetDomainsHandler added in v0.2.5

func (s *Handler) GetDomainsHandler(res http.ResponseWriter, req *http.Request)

GetDomainsHandler 获取用户所有域名配置 GET /api/license/domains?key=xxx

func (*Handler) GetIPsHandler added in v0.2.3

func (s *Handler) GetIPsHandler(res http.ResponseWriter, req *http.Request)

GetIPsHandler 获取 License 的 IP 列表 GET /api/license/ips?key=xxx

func (*Handler) GetInstanceHandler added in v0.2.47

func (s *Handler) GetInstanceHandler(res http.ResponseWriter, req *http.Request)

GetInstanceHandler 查询实例 GET /api/instance?instance_id=xxx

func (*Handler) GetLicenseInfoHandler added in v0.2.3

func (s *Handler) GetLicenseInfoHandler(w http.ResponseWriter, r *http.Request)

GetLicenseInfoHandler 获取 License 信息 GET /api/license/info?key=xxx

func (*Handler) GetPublishInfoHandler added in v0.2.3

func (s *Handler) GetPublishInfoHandler(res http.ResponseWriter, req *http.Request)

GetPublishInfoHandler 获取 Publish 信息 GET /api/license/publish?key=xxx

func (*Handler) GetSubDomainHandler added in v0.2.5

func (s *Handler) GetSubDomainHandler(res http.ResponseWriter, req *http.Request)

GetSubDomainHandler 获取当前 subdomain 信息 GET /api/license/subdomain?key=xxx

func (*Handler) GetSyncInfoHandler added in v0.2.3

func (s *Handler) GetSyncInfoHandler(res http.ResponseWriter, req *http.Request)

GetSyncInfoHandler 获取 Sync 信息 GET /api/license/sync?key=xxx

func (*Handler) GetTrialHandler added in v0.2.30

func (s *Handler) GetTrialHandler(res http.ResponseWriter, req *http.Request)

GetTrialHandler 申请试用 License POST /api/license/trial 参数:email (POST form) 返回:{ "success": true, "license_key": "MDF-XXXX-XXXX-XXXX", "email": "xxx@example.com", "password": "xxx" }

func (*Handler) GetUsageHandler added in v0.2.3

func (s *Handler) GetUsageHandler(res http.ResponseWriter, req *http.Request)

GetUsageHandler 获取 License 使用量汇总 GET /api/license/usage?key=xxx 汇总 devices, ips, disks 三个接口的信息

func (*Handler) GithubReleaseHander added in v0.2.30

func (s *Handler) GithubReleaseHander(res http.ResponseWriter, req *http.Request)

GithubReleaseHander 处理 GitHub Release Webhook POST /api/github-hook

func (*Handler) HashHandler

func (s *Handler) HashHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) HealthHandler added in v0.2.47

func (s *Handler) HealthHandler(res http.ResponseWriter, req *http.Request)

HealthHandler 健康检查处理器

func (*Handler) ImageHandler added in v0.1.27

func (s *Handler) ImageHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ImageRandomHandler added in v0.1.27

func (s *Handler) ImageRandomHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ImageResizeHandler added in v0.1.27

func (s *Handler) ImageResizeHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ImagesHandler added in v0.1.27

func (s *Handler) ImagesHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) InitHandler

func (s *Handler) InitHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) LoginHandler

func (s *Handler) LoginHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) LogoutHandler

func (s *Handler) LogoutHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) MDFPreviewHandler added in v0.2.1

func (s *Handler) MDFPreviewHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) PreviewContentHandler

func (s *Handler) PreviewContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) PreviewContentHandlerLocal

func (s *Handler) PreviewContentHandlerLocal(res http.ResponseWriter, req *http.Request)

func (*Handler) RecoverLicenseHandler added in v0.2.31

func (s *Handler) RecoverLicenseHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) RemoveDomainHandler added in v0.2.5

func (s *Handler) RemoveDomainHandler(res http.ResponseWriter, req *http.Request)

RemoveDomainHandler 移除自定义域名 POST /api/license/domain/remove

func (*Handler) ResetUsageHandler added in v0.2.5

func (s *Handler) ResetUsageHandler(res http.ResponseWriter, req *http.Request)

ResetUsageHandler 重置用户存储使用量 POST /api/license/usage/reset?key=xxx 1. 删除并重建 CouchDB 数据库 (清空 sync 数据) 2. 删除 publish 目录 (清空 publish 数据)

func (*Handler) ScHandler added in v0.1.48

func (s *Handler) ScHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ScHashHandler added in v0.1.48

func (s *Handler) ScHashHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ScsHandler added in v0.1.48

func (s *Handler) ScsHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) SearchContentHandler

func (s *Handler) SearchContentHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) SearchContentHandler2

func (s *Handler) SearchContentHandler2(res http.ResponseWriter, req *http.Request)

func (*Handler) SearchHandler

func (s *Handler) SearchHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) Shutdown added in v0.1.44

func (s *Handler) Shutdown()

Shutdown gracefully shuts down all components in the handler

func (*Handler) SignatureHandler added in v0.2.1

func (s *Handler) SignatureHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) StoreFiles

func (s *Handler) StoreFiles(req *http.Request) (map[string]string, map[string]string, error)

StoreFiles stores file uploads at paths like /YYYY/MM/filename.ext

func (*Handler) ThemeHandler added in v0.2.1

func (s *Handler) ThemeHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ThemeHashHandler added in v0.2.1

func (s *Handler) ThemeHashHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) ThemesHandler added in v0.2.1

func (s *Handler) ThemesHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) UpdateInstanceHandler added in v0.2.47

func (s *Handler) UpdateInstanceHandler(res http.ResponseWriter, req *http.Request)

UpdateInstanceHandler 更新实例 POST /api/instance/update

func (*Handler) UpdateSubDomainHandler added in v0.2.5

func (s *Handler) UpdateSubDomainHandler(res http.ResponseWriter, req *http.Request)

UpdateSubDomainHandler 修改用户的 subdomain POST /api/license/subdomain/update

func (*Handler) UploadContentsHandler

func (s *Handler) UploadContentsHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) UploadSearchHandler

func (s *Handler) UploadSearchHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) UserConfigHandler

func (s *Handler) UserConfigHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) UserLoginHandler

func (s *Handler) UserLoginHandler(res http.ResponseWriter, req *http.Request)

func (*Handler) UserRegisterHandler

func (s *Handler) UserRegisterHandler(res http.ResponseWriter, req *http.Request)

type HealthResponse added in v0.2.47

type HealthResponse struct {
	Status      string `json:"status"`
	Docker      bool   `json:"docker"`
	Initialized bool   `json:"initialized"`
	Version     string `json:"version"`
}

HealthResponse 健康检查响应

type Params added in v0.1.27

type Params struct {
	Width      int
	Height     int
	Blur       bool
	BlurAmount int
	Grayscale  bool
	Extension  string
}

Params contains all the parameters for a request

type Progress added in v0.1.24

type Progress struct {
	Current int64  `json:"current"`
	Total   int64  `json:"total"`
	Status  string `json:"status"`
}

Progress represents the current progress of an operation

type ProgressEvent added in v0.1.24

type ProgressEvent struct {
	Event string    `json:"event"`
	Data  *Progress `json:"data"`
}

ProgressEvent represents a SSE event for progress updates

func (*ProgressEvent) ToJSON added in v0.1.24

func (pe *ProgressEvent) ToJSON() string

ToJSON converts the progress event to JSON string

type Response

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

func NewResponse

func NewResponse(errView ResponseErrView) *Response

func (*Response) FmtJSON

func (s *Response) FmtJSON(data ...json.RawMessage) ([]byte, error)

func (*Response) Json

func (s *Response) Json(res http.ResponseWriter, data []byte)

Json should be used any time you want to communicate data back to a foreign client

type ResponseErrView

type ResponseErrView interface {
	Error400() ([]byte, error)
	Error500() ([]byte, error)
}

type SSEWriter added in v0.1.24

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

SSEWriter wraps a http.ResponseWriter to provide SSE functionality

func NewSSEWriter added in v0.1.24

func NewSSEWriter(w http.ResponseWriter) *SSEWriter

NewSSEWriter creates a new SSE writer

func (*SSEWriter) SendEvent added in v0.1.24

func (sw *SSEWriter) SendEvent(event *ProgressEvent)

SendEvent sends an SSE event

Jump to

Keyboard shortcuts

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