Earlier quoted context omitted.
Yes, I can understand your frustrations, which stem probably from looking at the subprojects of go-ap as separate entities, when actually they form a whole library that can be used to create an ActivityPub server. FedBOX was meant to be a "simple" example, but that was some years ago, and as these things go, I piled on work on it and now supports multiple storage backends, has its own oauth2 end points and storage, e…
> sub-projects of go-ap, separate entities That part made sense once I read that fedbox puts it all together. > extracting from fedbox to make simpler examples Great! > Read the specification I have, maybe not carefully enough. I knew what jsonld was. I didn't notice at first that the structs in go-ap were annotated with `jsonld:"..."` rather than `json:"..."`. Perhaps jsonld.Marshal handles turning embedded objects…
When it comes to the Go the standard library implementation, that's not really the case. Go doesn't deal very well with the dynamic nature of the linked data. A lot of the architecture of go-ap has to deal with the fallout from this one issue. :(
On the wiki I mentioned before I wrote an explanation that goes over the problem a little more in depth: https://man.sr.ht/~mariusor/go-activitypub/go-ap/index.md#de...