001 (ns dog-and-duck.quack.fault-messages)
002
003 ;;; Copyright (C) Simon Brooke, 2022
004
005 ;;; This program is free software; you can redistribute it and/or
006 ;;; modify it under the terms of the GNU General Public License
007 ;;; as published by the Free Software Foundation; either version 2
008 ;;; of the License, or (at your option) any later version.
009
010 ;;; This program is distributed in the hope that it will be useful,
011 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
012 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013 ;;; GNU General Public License for more details.
014
015 ;;; You should have received a copy of the GNU General Public License
016 ;;; along with this program; if not, write to the Free Software
017 ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
018
019 (def messages
020 "Actual fault messages to which fault codes resolve."
021 {:id-not-https "Publicly facing content SHOULD use HTTPS URIs"
022 :id-not-uri "identifiers must be publicly dereferencable URIs"
023 :no-context "Section 3 of the ActivityPub specification states Implementers SHOULD include the ActivityPub context in their object definitions`."
024 :no-id-persistent "Persistent objects MUST have unique global identifiers."
025 :no-id-transient "The ActivityPub specification allows objects without `id` fields only if they are intentionally transient; even so it is preferred that the object should have an explicit null id."
026 :no-inbox "Actor objects MUST have an `inbox` property, whose value MUST be a reference to an ordered collection."
027 :no-outbox "Actor objects MUST have an `outbox` property, whose value MUST be a reference to an ordered collection."
028 :no-type "The ActivityPub specification states that the `type` field is optional, but it is hard to process objects with no known type."
029 :not-actor-type "The `type` value of the object was not a recognised actor type."
030 :null-id-persistent "Persistent objects MUST have non-null identifiers."
031 :not-an-object "ActivityStreams object must be JSON objects."})