Versions in this module Expand all Collapse all v0 v0.21.1 Jul 3, 2026 v0.21.0 Jul 3, 2026 Changes in this version + const DefaultMaxAge + const MaxBodyBytes + const SignatureHeader + const TimestampHeader + var ErrInvalidSignature = errors.New("slackhook: invalid signature") + var ErrMissingPayload = errors.New("slackhook: missing payload field") + var ErrStaleTimestamp = errors.New("slackhook: stale timestamp") + func NewHandler(sink InteractionSink, logger *slog.Logger) http.Handler + func SignatureMiddleware(verifier *Verifier) func(http.Handler) http.Handler + type Action struct + ActionID string + Value string + type Channel struct + ID string + type Interaction struct + Actions []Action + Channel Channel + Message Message + ResponseURL string + TriggerID string + Type string + User User + func ParseInteraction(body []byte) (Interaction, error) + type InteractionSink func(ctx context.Context, interaction Interaction) error + type Message struct + RawBlocks json.RawMessage + TS string + Text string + type Option func(*Verifier) + func WithClock(now func() time.Time) Option + func WithMaxAge(d time.Duration) Option + type User struct + ID string + Username string + type Verifier struct + func NewVerifier(secret string, opts ...Option) *Verifier + func (v *Verifier) Verify(timestamp string, body []byte, signature string) error