{
    "$schema": "http://json-schema.org/draft-04/schema",
    "definitions": {
        "dateUTCISO": {
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type": "string"
        },
        "sha1": {
            "pattern": "^[0-9a-f]{40}$",
            "type": "string"
        },
        "string": {
            "type": "string"
        },
        "uri": {
            "pattern": "^https?://",
            "type": "string"
        }
    },
    "description": "Track caching info for a single (hashed) request",
    "properties": {
        "cacheCreated": {
            "$ref": "#/definitions/dateUTCISO"
        },
        "cacheUpdated": {
            "$ref": "#/definitions/dateUTCISO"
        },
        "contentChecksum": {
            "$ref": "#/definitions/sha1"
        },
        "contentType": {
            "$ref": "#/definitions/string"
        },
        "httpETag": {
            "$ref": "#/definitions/string"
        },
        "httpModified": {
            "$ref": "#/definitions/dateUTCISO"
        },
        "key": {
            "$ref": "#/definitions/sha1"
        },
        "url": {
            "$ref": "#/definitions/uri"
        }
    },
    "required": [
        "url",
        "key",
        "contentType",
        "httpETag",
        "httpModified",
        "cacheCreated",
        "cacheUpdated",
        "contentChecksum"
    ],
    "type": "object"
}