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."})