Documentation
¶
Index ¶
- func GetAuthed(ctx context.Context) string
- func GetIP(ctx context.Context) string
- func GetIPFromRequest(r *http.Request) string
- func GetListeningFilters() nostr.Filters
- func GetOpenSubscriptions(ctx context.Context) []nostr.Filter
- func GetSubscriptionID(ctx context.Context) string
- func RequestAuth(ctx context.Context)
- type Listener
- type Relay
- func (rl *Relay) AddEvent(ctx context.Context, evt *nostr.Event) (skipBroadcast bool, writeError error)
- func (rl *Relay) BroadcastEvent(evt *nostr.Event)
- func (rl *Relay) HandleNIP11(w http.ResponseWriter, r *http.Request)
- func (rl *Relay) HandleWebsocket(w http.ResponseWriter, r *http.Request)
- func (rl *Relay) Router() *http.ServeMux
- func (rl *Relay) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (rl *Relay) Shutdown(ctx context.Context)
- func (rl *Relay) Start(host string, port int, started ...chan bool) error
- type WebSocket
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetIPFromRequest ¶ added in v0.4.3
func GetListeningFilters ¶
func GetOpenSubscriptions ¶ added in v0.2.1
func GetSubscriptionID ¶ added in v0.2.2
func RequestAuth ¶ added in v0.2.2
Types ¶
type Relay ¶
type Relay struct {
ServiceURL string
RejectEvent []func(ctx context.Context, event *nostr.Event) (reject bool, msg string)
RejectFilter []func(ctx context.Context, filter nostr.Filter) (reject bool, msg string)
RejectCountFilter []func(ctx context.Context, filter nostr.Filter) (reject bool, msg string)
RejectConnection []func(r *http.Request) bool
OverwriteDeletionOutcome []func(ctx context.Context, target *nostr.Event, deletion *nostr.Event) (acceptDeletion bool, msg string)
OverwriteResponseEvent []func(ctx context.Context, event *nostr.Event)
OverwriteFilter []func(ctx context.Context, filter *nostr.Filter)
OverwriteCountFilter []func(ctx context.Context, filter *nostr.Filter)
OverwriteRelayInformation []func(ctx context.Context, r *http.Request, info nip11.RelayInformationDocument) nip11.RelayInformationDocument
StoreEvent []func(ctx context.Context, event *nostr.Event) error
DeleteEvent []func(ctx context.Context, event *nostr.Event) error
QueryEvents []func(ctx context.Context, filter nostr.Filter) (chan *nostr.Event, error)
CountEvents []func(ctx context.Context, filter nostr.Filter) (int64, error)
OnConnect []func(ctx context.Context)
OnDisconnect []func(ctx context.Context)
OnEventSaved []func(ctx context.Context, event *nostr.Event)
OnEphemeralEvent []func(ctx context.Context, event *nostr.Event)
// editing info will affect
Info *nip11.RelayInformationDocument
// Default logger, as set by NewServer, is a stdlib logger prefixed with "[khatru-relay] ",
// outputting to stderr.
Log *log.Logger
// in case you call Server.Start
Addr string
// websocket options
WriteWait time.Duration // Time allowed to write a message to the peer.
PongWait time.Duration // Time allowed to read the next pong message from the peer.
PingPeriod time.Duration // Send pings to peer with this period. Must be less than pongWait.
MaxMessageSize int64 // Maximum message size allowed from peer.
// contains filtered or unexported fields
}
func (*Relay) AddEvent ¶
func (rl *Relay) AddEvent(ctx context.Context, evt *nostr.Event) (skipBroadcast bool, writeError error)
AddEvent sends an event through then normal add pipeline, as if it was received from a websocket.
func (*Relay) BroadcastEvent ¶ added in v0.2.4
BroadcastEvent emits an event to all listeners whose filters' match, skipping all filters and actions it also doesn't attempt to store the event or trigger any reactions or callbacks
func (*Relay) HandleNIP11 ¶
func (rl *Relay) HandleNIP11(w http.ResponseWriter, r *http.Request)
func (*Relay) HandleWebsocket ¶
func (rl *Relay) HandleWebsocket(w http.ResponseWriter, r *http.Request)
func (*Relay) ServeHTTP ¶
func (rl *Relay) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP implements http.Handler interface.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
examples
|
|
|
basic-badger
command
|
|
|
basic-elasticsearch
command
|
|
|
basic-lmdb
command
|
|
|
basic-postgres
command
|
|
|
basic-sqlite3
command
|
|
|
exclusive
command
|
|
|
readme-demo
command
|
|
Click to show internal directories.
Click to hide internal directories.