diff --git a/handle.go b/handle.go index 4f137b9..56d5e57 100644 --- a/handle.go +++ b/handle.go @@ -721,6 +721,10 @@ func (h *Handler) handleHTTPError(w http.ResponseWriter, r *http.Request, err er return } else if err.Status == http.StatusNotFound { w.WriteHeader(err.Status) + if strings.Contains(r.Header.Get("Accept"), "application/activity+json") { + // This is a fediverse request; simply return the header + return + } h.errors.NotFound.ExecuteTemplate(w, "base", pageForReq(h.app.App(), r)) return } else if err.Status == http.StatusInternalServerError { diff --git a/posts.go b/posts.go index 518a07e..3811253 100644 --- a/posts.go +++ b/posts.go @@ -1352,7 +1352,7 @@ Are you sure it was ever here?`, fmt.Fprint(w, p.Content) } else if strings.Contains(r.Header.Get("Accept"), "application/activity+json") { if !postFound { - w.WriteHeader(http.StatusNotFound) + return ErrCollectionPageNotFound } p.extractData() ap := p.ActivityObject()