activitypub

package
v0.0.0-...-4c68550 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2024 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApApi

type ApApi struct {
	Storage storage.Storage
	// contains filtered or unexported fields
}

func NewApApi

func NewApApi(
	config *instance.FederationConfig,
	storage storage.Storage,
	streamService services.StreamService,
) (*ApApi, error)

func (*ApApi) BoostrapApi

func (a *ApApi) BoostrapApi(router *mux.Router) error

type Clock

type Clock struct {
}

func NewClock

func NewClock() *Clock

func (*Clock) Now

func (c *Clock) Now() time.Time

type CommonBehavior

type CommonBehavior struct {
}

func NewCommonBehavior

func NewCommonBehavior() *CommonBehavior

func (*CommonBehavior) AuthenticateGetInbox

func (b *CommonBehavior) AuthenticateGetInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error)

func (*CommonBehavior) AuthenticateGetOutbox

func (b *CommonBehavior) AuthenticateGetOutbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error)

func (*CommonBehavior) GetOutbox

func (*CommonBehavior) NewTransport

func (b *CommonBehavior) NewTransport(c context.Context, actorBoxIRI *url.URL, gofedAgent string) (t pub.Transport, err error)

type Database

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

func NewDatabase

func NewDatabase(actorPep *models.ActorRepository, followRep *models.FollowRepository) *Database

func (*Database) ActorForInbox

func (d *Database) ActorForInbox(c context.Context, inboxIRI *url.URL) (actorIRI *url.URL, err error)

func (*Database) ActorForOutbox

func (d *Database) ActorForOutbox(c context.Context, outboxIRI *url.URL) (actorIRI *url.URL, err error)

func (*Database) Create

func (d *Database) Create(c context.Context, asType vocab.Type) error

func (*Database) Delete

func (d *Database) Delete(c context.Context, id *url.URL) error

func (*Database) Exists

func (d *Database) Exists(c context.Context, id *url.URL) (exists bool, err error)

--- CRUD

func (*Database) Followers

func (d *Database) Followers(ctx context.Context, actorIRI *url.URL) (followers vocab.ActivityStreamsCollection, err error)

func (*Database) Following

func (d *Database) Following(ctx context.Context, actorIRI *url.URL) (following vocab.ActivityStreamsCollection, err error)

func (*Database) Get

func (d *Database) Get(c context.Context, id *url.URL) (value vocab.Type, err error)

func (*Database) GetInbox

func (d *Database) GetInbox(c context.Context, inboxIRI *url.URL) (inbox vocab.ActivityStreamsOrderedCollectionPage, err error)

func (*Database) GetOutbox

func (d *Database) GetOutbox(c context.Context, outboxIRI *url.URL) (outbox vocab.ActivityStreamsOrderedCollectionPage, err error)

GetOutbox Implementation note: we don't (yet) serve outboxes, so just return empty and nil here.

func (*Database) InboxContains

func (d *Database) InboxContains(c context.Context, inbox, id *url.URL) (contains bool, err error)

func (*Database) InboxesForIRI

func (d *Database) InboxesForIRI(c context.Context, iri *url.URL) (inboxIRIs []*url.URL, err error)

func (*Database) Liked

func (d *Database) Liked(c context.Context, actorIRI *url.URL) (liked vocab.ActivityStreamsCollection, err error)

func (*Database) Lock

func (d *Database) Lock(_ context.Context, id *url.URL) (unlock func(), err error)

func (*Database) NewID

func (d *Database) NewID(c context.Context, t vocab.Type) (id *url.URL, err error)

func (*Database) OutboxForInbox

func (d *Database) OutboxForInbox(ctx context.Context, inboxIRI *url.URL) (outboxIRI *url.URL, err error)

func (*Database) Owns

func (d *Database) Owns(c context.Context, id *url.URL) (owns bool, err error)

func (*Database) SetInbox

func (*Database) SetOutbox

SetOutbox Implementation note: we don't allow outbox setting so just return nil here.

func (*Database) Update

func (d *Database) Update(c context.Context, asType vocab.Type) error

type FederatingProtocol

type FederatingProtocol struct {
}

func NewFederatingProtocol

func NewFederatingProtocol() *FederatingProtocol

func (*FederatingProtocol) AuthenticatePostInbox

func (p *FederatingProtocol) AuthenticatePostInbox(c context.Context, w http.ResponseWriter, r *http.Request) (out context.Context, authenticated bool, err error)

func (*FederatingProtocol) Blocked

func (p *FederatingProtocol) Blocked(c context.Context, actorIRIs []*url.URL) (blocked bool, err error)

func (*FederatingProtocol) DefaultCallback

func (p *FederatingProtocol) DefaultCallback(c context.Context, activity pub.Activity) error

func (*FederatingProtocol) FederatingCallbacks

func (p *FederatingProtocol) FederatingCallbacks(c context.Context) (wrapped pub.FederatingWrappedCallbacks, other []interface{}, err error)

func (*FederatingProtocol) FilterForwarding

func (p *FederatingProtocol) FilterForwarding(c context.Context, potentialRecipients []*url.URL, a pub.Activity) (filteredRecipients []*url.URL, err error)

func (*FederatingProtocol) GetInbox

func (*FederatingProtocol) MaxDeliveryRecursionDepth

func (p *FederatingProtocol) MaxDeliveryRecursionDepth(_ context.Context) int

func (*FederatingProtocol) MaxInboxForwardingRecursionDepth

func (p *FederatingProtocol) MaxInboxForwardingRecursionDepth(_ context.Context) int

func (*FederatingProtocol) PostInboxRequestBodyHook

func (p *FederatingProtocol) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity pub.Activity) (context.Context, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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