Categorygithub.com/go-ap/processing
modulepackage
0.0.0-20250215163048-bb965f7592b5
Repository: https://github.com/go-ap/processing.git
Documentation: pkg.go.dev

# README

About GoActivityPub: Processing

MIT Licensed Build Status Test Coverage Go Report Card

This project is part of the GoActivityPub library which helps with creating ActivityPub applications using the Go programming language.

It provides basic functionality for processing and validation of generic ActivityPub activities.

It uses the concepts detailed in the 5.8.1 Content Management section of the ActivityStreams vocabulary specification for logic separation between groups of activities.

For the actual processing it uses the 6. Client to Server Interactions and 7. Server to Server Interactions sections of the ActivityPub specification.

You can find an expanded documentation about the whole library on SourceHut.

For discussions about the projects you can write to the discussions mailing list: ~mariusor/[email protected]

For patches and bug reports please use the dev mailing list: ~mariusor/[email protected]

# Functions

AcceptActivity In Inbox: https://www.w3.org/TR/activitypub/#follow-activity-inbox The side effect of receiving this in an inbox is determined by the type of the object received, and it is possible to accept types not described in this document (for example, an Offer).
AppreciationActivity The Like(and Dislike) activity indicates the actor likes the object.
No description provided by the author
BlockActivity https://www.w3.org/TR/activitypub/#block-activity-outbox The Block activity is used to indicate that the posting actor does not want another actor (defined in the object property) to be able to interact with objects posted by the actor posting the Block activity.
CollectionManagementActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-collections The Collection Management use case primarily deals with activities involving the management of content within collections.
ContentExperienceActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-experience The Content Experience use case primarily deals with describing activities involving listening to, reading, or viewing content.
ContentManagementActivityFromClient processes matching activities.
CreateActivityFromClient https://www.w3.org/TR/activitypub/#create-activity-outbox The Create activity is used when posting a new object.
No description provided by the author
DeleteActivity https://www.w3.org/TR/activitypub/#delete-activity-outbox The Delete activity is used to delete an already existing object.
EventRSVPActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-rsvp The Event RSVP use case primarily deals with invitations to events and RSVP type responses.
No description provided by the author
FlagActivity There isn't any side effect to this activity except delivering it to the inboxes of its recipients.
FollowActivity is used when following an actor.
GeoSocialEventsActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-geo The Geo-Social Events use case primarily deals with activities involving geo-tagging type activities.
GeoSocialEventsIntransitiveActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-geo The Geo-Social Events use case primarily deals with activities involving geo-tagging type activities.
GroupManagementActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-group The Group Management use case primarily deals with management of groups.
IgnoreActivity This relies on custom behavior for the repository, which would allow for an ignored collection, where we save these.
IRIBelongsToActor checks if the search iri represents any of the collections associated with the actor.
No description provided by the author
No description provided by the author
NegatingActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-undo The Negating Activity use case primarily deals with the ability to redact previously completed activities.
No description provided by the author
NotificationActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-notification The Notification use case primarily deals with calling attention to particular objects or notifications.
No description provided by the author
OffersActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-offer The Offers use case deals with activities involving offering one object to another.
QuestionActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-questions The Questions use case primarily deals with representing inquiries of any type.
ReactionsActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-respond The Reactions use case primarily deals with reactions to content.
No description provided by the author
RelationshipManagementActivity processes matching activities https://www.w3.org/TR/activitystreams-vocabulary/#h-motivations-relationships The Relationship Management use case primarily deals with representing activities involving the management of interpersonal and social relationships (e.g.
No description provided by the author
UndoActivity https://www.w3.org/TR/activitypub/#undo-activity-outbox The Undo activity is used to undo a previous activity.
UndoAppreciationActivity Removes the side effects of an existing Appreciation activity (Like or Dislike) Currently this means only removal of the Liked/Disliked object from the actor's `liked` collection and removal of the Like/Dislike Activity from the object's `likes` collection.
UndoRelationshipManagementActivity Removes the side effects of an existing RelationshipActivity activity (Follow, Block, Ignore, Flag) Currently this means the removal of the objet from the collection corresponding to the original Activity type.
UpdateActivity https://www.w3.org/TR/activitypub/#update-activity-outbox The Update activity is used when updating an already existing object.
ValidateClientCollectionManagementActivity.
ValidateClientContentExperienceActivity.
ValidateClientContentManagementActivity.
ValidateClientEventRSVPActivity.
ValidateClientGeoSocialEventsActivity.
ValidateClientGroupManagementActivity.
ValidateClientNegatingActivity.
ValidateClientNotificationActivity.
ValidateClientOffersActivity.
ValidateClientQuestionActivity.
ValidateClientReactionsActivity.
ValidateClientRelationshipManagementActivity.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Typer is the static package variable that determines a CollectionPath type for a particular request It can be overloaded from outside packages.
No description provided by the author

# Structs

No description provided by the author

# Interfaces

ActivityValidator is an interface used for validating activity objects.
ActorValidator is an interface used for validating actor objects.
C2SProcessor.
No description provided by the author
CollectionStore allows operations on ActivityStreams collections.
CollectionTyper allows external packages to tell us which CollectionPath the current HTTP request addresses.
Filterable can filter objects by Type and ID This should be the minimal interface a filter object should implement for the storage layer to work.
FilterableActivity can filter activities.
FilterableCollection can filter collections.
No description provided by the author
FilterableObject can filter objects.
No description provided by the author
MethodValidator is the interface need to be implemented to specify if an HTTP request's method is supported by the implementor object.
ObjectValidator is an interface used for validating generic objects.
No description provided by the author
RequestValidator is the interface need to be implemented to specify if the whole HTTP request is valid in the context of the implementor object.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
WriteStore saves ActivityStreams objects.

# Type aliases

ActivityHandlerFn is the type that we're using to represent handlers that process requests containing an ActivityStreams Activity.
CollectionHandlerFn is the type that we're using to represent handlers that will return ActivityStreams Collection or OrderedCollection objects.
No description provided by the author
No description provided by the author
ItemHandlerFn is the type that we're using to represent handlers that return ActivityStreams objects.
No description provided by the author