Client sendet nach Schema:
Zusammenhängde Eingaben werden als Strings in einem Array übertragen.
type = JSON { "query": { "query" : <Array of <String>> } }
Server antwortet nach Schema:
type = JSON <Array of <Texture>>
Client sendet nach Schema:
type = JSON { "get_texture": { "id" : <UUID>, } }
Server antwortet nach Schema:
type = JSON <Texture>
Oder, wenn Textur nicht gefunden
type = Error
Client sendet nach Schema:
type = JSON { "get_texture_file": { "texture_hash" : <Hash>, } }
Server antwortet nach Schema:
type = Binary Textur-Datei
Oder, wenn Textur-Datei nicht gefunden
type = Error
Client sendet nach Schema:
type = JSON { "get_texture_preview": { "texture_hash" : <Hash>, } }
Server antwortet nach Schema:
type = Binary Textur-Preview
Oder, wenn Textur-Datei nicht gefunden
type = Error
Diese Request dient dazu alte Texturen zu löschen und neue Hinzufügen. Ein Löschen und gleichzeitiges Hinzufügen, ergibt ein Update der Textur.
Falls "old" != null, wird die hier angebene Textur gelöscht. Wird diese nicht exakt gleich vorgefunden, schlägt diese Anfrage fehl (type = Error). In diesem Fall wird "new" nicht berücksichtigt.
Falls "new" != null, wird die hier angebene Textur zum System hinzugefügt. Sollte die angebene id schon vorhanden sein, schlägt diese Anfrage fehl (type = Error).
Dieser Semantik wurde gewählt, damit ein Update atomar ist und dopplte Anfragen zum Fehlern führen.
Client sendet nach Schema:
type = JSON { "replace_texture": { "old": <Texture> | null, "new": <Texture> | null, } }
Server antwortet nach Schema:
type = JSON true
Oder falls "texture_hash" nicht gefunden wurde nach Schema:
type = JSON { "get_texture_file": { texture_hash : <Hash>, } }
Woraufhin der Client die Textur-Datei sendet:
type = Binary Textur-Datei
Der bestätigt dies dann mit:
type = JSON true