Versions in this module Expand all Collapse all v1 v1.1.0 Oct 12, 2026 v1.0.0 Sep 19, 2026 Changes in this version + func IsBadRequest(err error) bool + func NewHTTPHandler(hub *Server, auth Authenticator, audit io.Writer) http.Handler + type Authenticator interface + Authenticate func(r *http.Request) (contract.ActorID, error) + type BadRequestError struct + func (e *BadRequestError) Error() string + func (e *BadRequestError) Unwrap() error + type BearerAuthenticator struct + Tokens map[string]contract.ActorID + func (a BearerAuthenticator) Authenticate(r *http.Request) (contract.ActorID, error) + type GrantMap map[contract.ActorID]ReplicaGrant + func (m GrantMap) Grant(principal contract.ActorID, verb string) (ReplicaGrant, bool) + type Grants interface + Grant func(principal contract.ActorID, verb string) (ReplicaGrant, bool) + type ReplicaGrant = contract.ReplicaGrant + type Server struct + func New(st *store.Store, grants Grants, now func() string) *Server + func (s *Server) Pull(principal contract.ActorID, req contract.SyncPullRequest) (contract.SyncPullResponse, error) + func (s *Server) Push(principal contract.ActorID, req contract.SyncPushRequest) (contract.SyncPushResponse, error) + func (s *Server) Status(principal contract.ActorID) (contract.SyncStatusResponse, error)