draft-ietf-cdni-control-triggers-14.txt | draft-ietf-cdni-control-triggers-15.txt | |||
---|---|---|---|---|
Network Working Group R. Murray | Network Working Group R. Murray | |||
Internet-Draft B. Niven-Jenkins | Internet-Draft B. Niven-Jenkins | |||
Intended status: Standards Track Nokia | Intended status: Standards Track Nokia | |||
Expires: November 17, 2016 May 16, 2016 | Expires: November 20, 2016 May 19, 2016 | |||
CDNI Control Interface / Triggers | CDNI Control Interface / Triggers | |||
draft-ietf-cdni-control-triggers-14 | draft-ietf-cdni-control-triggers-15 | |||
Abstract | Abstract | |||
This document describes the part of the CDN Interconnection Control | This document describes the part of the CDN Interconnection Control | |||
Interface that allows a CDN to trigger activity in an interconnected | Interface that allows a CDN to trigger activity in an interconnected | |||
CDN that is configured to deliver content on its behalf. The | CDN that is configured to deliver content on its behalf. The | |||
upstream CDN can use this mechanism to request that the downstream | upstream CDN can use this mechanism to request that the downstream | |||
CDN pre-positions metadata or content, or that it invalidates or | CDN pre-positions metadata or content, or that it invalidates or | |||
purges metadata or content. The upstream CDN can monitor the status | purges metadata or content. The upstream CDN can monitor the status | |||
of activity that it has triggered in the downstream CDN. | of activity that it has triggered in the downstream CDN. | |||
skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on November 17, 2016. | This Internet-Draft will expire on November 20, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 16, line 19 ¶ | skipping to change at page 16, line 19 ¶ | |||
it passes to its dCDN. | it passes to its dCDN. | |||
When processing Trigger Specifications, CDNs MUST ignore the URL | When processing Trigger Specifications, CDNs MUST ignore the URL | |||
scheme (http or https) in comparing URLs. For example, for a CI/T | scheme (http or https) in comparing URLs. For example, for a CI/T | |||
invalidate or purge command, content MUST be invalidated or purged | invalidate or purge command, content MUST be invalidated or purged | |||
regardless of the protocol clients use to request it. | regardless of the protocol clients use to request it. | |||
5. CI/T Object Properties and Encoding | 5. CI/T Object Properties and Encoding | |||
The CI/T Commands, Trigger Status Resources and Trigger Collections | The CI/T Commands, Trigger Status Resources and Trigger Collections | |||
and their properties defined in this document are encoded using JSON, | and their properties are encoded using JSON, as defined in sections | |||
as defined in sections Section 5.1.1, Section 5.2.1, and | Section 5.1.1, Section 5.2.1, and Section 5.1.2. They MUST use the | |||
Section 5.1.2. They MUST use the MIME Media Type 'application/ | MIME Media Type 'application/cdni', with parameter 'ptype' values as | |||
cdni+json', with parameter 'ptype' values as defined below and in | defined below and in Section 7.1. | |||
Section 7.1. | ||||
Names in JSON are case sensitive. The names and literal values | Names in JSON are case sensitive. The names and literal values | |||
specified in the present document MUST always use lower-case. | specified in the present document MUST always use lower-case. | |||
JSON types, including 'object', 'array', 'number' and 'string' are | JSON types, including 'object', 'array', 'number' and 'string' are | |||
defined in [RFC7159]. | defined in [RFC7159]. | |||
Unrecognised name/value pairs in JSON objects SHOULD NOT be treated | Unrecognised name/value pairs in JSON objects SHOULD NOT be treated | |||
as an error by either the uCDN or dCDN. They SHOULD be ignored in | as an error by either the uCDN or dCDN. They SHOULD be ignored in | |||
the processing, and passed on by dCDN to any further dCDNs in a | the processing, and passed on by dCDN to any further dCDNs in a | |||
skipping to change at page 27, line 11 ¶ | skipping to change at page 27, line 11 ¶ | |||
Note that "metadata.patterns" and "content.patterns" are not allowed | Note that "metadata.patterns" and "content.patterns" are not allowed | |||
in a preposition Trigger Specification. | in a preposition Trigger Specification. | |||
REQUEST: | REQUEST: | |||
POST /triggers HTTP/1.1 | POST /triggers HTTP/1.1 | |||
User-Agent: example-user-agent/0.1 | User-Agent: example-user-agent/0.1 | |||
Host: dcdn.example.com | Host: dcdn.example.com | |||
Accept: */* | Accept: */* | |||
Content-Type: application/cdni+json; ptype=ci-trigger-command | Content-Type: application/cdni; ptype=ci-trigger-command | |||
Content-Length: 352 | Content-Length: 352 | |||
{ | { | |||
"trigger" : { | "trigger" : { | |||
"type": "preposition", | "type": "preposition", | |||
"metadata.urls" : [ "https://metadata.example.com/a/b/c" ], | "metadata.urls" : [ "https://metadata.example.com/a/b/c" ], | |||
"content.urls" : [ | "content.urls" : [ | |||
"https://www.example.com/a/b/c/1", | "https://www.example.com/a/b/c/1", | |||
"https://www.example.com/a/b/c/2", | "https://www.example.com/a/b/c/2", | |||
skipping to change at page 27, line 34 ¶ | skipping to change at page 27, line 34 ¶ | |||
] | ] | |||
}, | }, | |||
"cdn-path" : [ "AS64496:1" ] | "cdn-path" : [ "AS64496:1" ] | |||
} | } | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 201 Created | HTTP/1.1 201 Created | |||
Date: Wed, 04 May 2016 08:48:10 GMT | Date: Wed, 04 May 2016 08:48:10 GMT | |||
Content-Length: 467 | Content-Length: 467 | |||
Content-Type: application/cdni+json; ptype=ci-trigger-status | Content-Type: application/cdni; ptype=ci-trigger-status | |||
Location: https://dcdn.example.com/triggers/0 | Location: https://dcdn.example.com/triggers/0 | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
{ | { | |||
"ctime": 1462351690, | "ctime": 1462351690, | |||
"etime": 1462351698, | "etime": 1462351698, | |||
"mtime": 1462351690, | "mtime": 1462351690, | |||
"status": "pending", | "status": "pending", | |||
"trigger": { | "trigger": { | |||
"content.urls": [ | "content.urls": [ | |||
skipping to change at page 28, line 24 ¶ | skipping to change at page 28, line 24 ¶ | |||
"https://metadata.example.com/a/b/" using case-insensitive matching, | "https://metadata.example.com/a/b/" using case-insensitive matching, | |||
and "https://www.example.com/a/b/" respectively, using case-sensitive | and "https://www.example.com/a/b/" respectively, using case-sensitive | |||
matching. | matching. | |||
REQUEST: | REQUEST: | |||
POST /triggers HTTP/1.1 | POST /triggers HTTP/1.1 | |||
User-Agent: example-user-agent/0.1 | User-Agent: example-user-agent/0.1 | |||
Host: dcdn.example.com | Host: dcdn.example.com | |||
Accept: */* | Accept: */* | |||
Content-Type: application/cdni+json; ptype=ci-trigger-command | Content-Type: application/cdni; ptype=ci-trigger-command | |||
Content-Length: 387 | Content-Length: 387 | |||
{ | { | |||
"trigger" : { | "trigger" : { | |||
"type": "invalidate", | "type": "invalidate", | |||
"metadata.patterns" : [ | "metadata.patterns" : [ | |||
{ "pattern" : "https://metadata.example.com/a/b/*" } | { "pattern" : "https://metadata.example.com/a/b/*" } | |||
], | ], | |||
skipping to change at page 28, line 50 ¶ | skipping to change at page 28, line 50 ¶ | |||
] | ] | |||
}, | }, | |||
"cdn-path" : [ "AS64496:1" ] | "cdn-path" : [ "AS64496:1" ] | |||
} | } | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 201 Created | HTTP/1.1 201 Created | |||
Date: Wed, 04 May 2016 08:48:11 GMT | Date: Wed, 04 May 2016 08:48:11 GMT | |||
Content-Length: 545 | Content-Length: 545 | |||
Content-Type: application/cdni+json; ptype=ci-trigger-status | Content-Type: application/cdni; ptype=ci-trigger-status | |||
Location: https://dcdn.example.com/triggers/1 | Location: https://dcdn.example.com/triggers/1 | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
{ | { | |||
"ctime": 1462351691, | "ctime": 1462351691, | |||
"etime": 1462351699, | "etime": 1462351699, | |||
"mtime": 1462351691, | "mtime": 1462351691, | |||
"status": "pending", | "status": "pending", | |||
"trigger": { | "trigger": { | |||
"content.patterns": [ | "content.patterns": [ | |||
skipping to change at page 30, line 21 ¶ | skipping to change at page 30, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 341 | Content-Length: 341 | |||
Expires: Wed, 04 May 2016 08:49:11 GMT | Expires: Wed, 04 May 2016 08:49:11 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "-936094426920308378" | ETag: "-936094426920308378" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:11 GMT | Date: Wed, 04 May 2016 08:48:11 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
{ | { | |||
"cdn-id": "AS64496:0", | "cdn-id": "AS64496:0", | |||
"coll-active": "/triggers/active", | "coll-active": "/triggers/active", | |||
"coll-complete": "/triggers/complete", | "coll-complete": "/triggers/complete", | |||
"coll-failed": "/triggers/failed", | "coll-failed": "/triggers/failed", | |||
"coll-pending": "/triggers/pending", | "coll-pending": "/triggers/pending", | |||
"staleresourcetime": 86400, | "staleresourcetime": 86400, | |||
"triggers": [ | "triggers": [ | |||
"https://dcdn.example.com/triggers/0", | "https://dcdn.example.com/triggers/0", | |||
skipping to change at page 31, line 21 ¶ | skipping to change at page 31, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 152 | Content-Length: 152 | |||
Expires: Wed, 04 May 2016 08:49:11 GMT | Expires: Wed, 04 May 2016 08:49:11 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "4331492443626270781" | ETag: "4331492443626270781" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:11 GMT | Date: Wed, 04 May 2016 08:48:11 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
{ | { | |||
"staleresourcetime": 86400, | "staleresourcetime": 86400, | |||
"triggers": [ | "triggers": [ | |||
"https://dcdn.example.com/triggers/0", | "https://dcdn.example.com/triggers/0", | |||
"https://dcdn.example.com/triggers/1" | "https://dcdn.example.com/triggers/1" | |||
] | ] | |||
} | } | |||
At this point, if no other Trigger Status Resources had been created, | At this point, if no other Trigger Status Resources had been created, | |||
skipping to change at page 32, line 21 ¶ | skipping to change at page 32, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 54 | Content-Length: 54 | |||
Expires: Wed, 04 May 2016 08:49:11 GMT | Expires: Wed, 04 May 2016 08:49:11 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "7958041393922269003" | ETag: "7958041393922269003" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:11 GMT | Date: Wed, 04 May 2016 08:48:11 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
{ | { | |||
"staleresourcetime": 86400, | "staleresourcetime": 86400, | |||
"triggers": [] | "triggers": [] | |||
} | } | |||
6.2.3. Individual Trigger Status Resources | 6.2.3. Individual Trigger Status Resources | |||
The Trigger Status Resources can also be examined for detail about | The Trigger Status Resources can also be examined for detail about | |||
individual CI/T Trigger Commands. For example, for the CI/T | individual CI/T Trigger Commands. For example, for the CI/T | |||
skipping to change at page 33, line 21 ¶ | skipping to change at page 33, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 467 | Content-Length: 467 | |||
Expires: Wed, 04 May 2016 08:49:10 GMT | Expires: Wed, 04 May 2016 08:49:10 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "6990548174277557683" | ETag: "6990548174277557683" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:10 GMT | Date: Wed, 04 May 2016 08:48:10 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-status | Content-Type: application/cdni; ptype=ci-trigger-status | |||
{ | { | |||
"ctime": 1462351690, | "ctime": 1462351690, | |||
"etime": 1462351698, | "etime": 1462351698, | |||
"mtime": 1462351690, | "mtime": 1462351690, | |||
"status": "pending", | "status": "pending", | |||
"trigger": { | "trigger": { | |||
"content.urls": [ | "content.urls": [ | |||
"https://www.example.com/a/b/c/1", | "https://www.example.com/a/b/c/1", | |||
"https://www.example.com/a/b/c/2", | "https://www.example.com/a/b/c/2", | |||
skipping to change at page 34, line 21 ¶ | skipping to change at page 34, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 545 | Content-Length: 545 | |||
Expires: Wed, 04 May 2016 08:49:11 GMT | Expires: Wed, 04 May 2016 08:49:11 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "-554385204989405469" | ETag: "-554385204989405469" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:11 GMT | Date: Wed, 04 May 2016 08:48:11 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-status | Content-Type: application/cdni; ptype=ci-trigger-status | |||
{ | { | |||
"ctime": 1462351691, | "ctime": 1462351691, | |||
"etime": 1462351699, | "etime": 1462351699, | |||
"mtime": 1462351691, | "mtime": 1462351691, | |||
"status": "pending", | "status": "pending", | |||
"trigger": { | "trigger": { | |||
"content.patterns": [ | "content.patterns": [ | |||
{ | { | |||
"case-sensitive": true, | "case-sensitive": true, | |||
skipping to change at page 35, line 22 ¶ | skipping to change at page 35, line 22 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 304 Not Modified | HTTP/1.1 304 Not Modified | |||
Content-Length: 0 | Content-Length: 0 | |||
Expires: Wed, 04 May 2016 08:49:11 GMT | Expires: Wed, 04 May 2016 08:49:11 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "4331492443626270781" | ETag: "4331492443626270781" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:11 GMT | Date: Wed, 04 May 2016 08:48:11 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
REQUEST: | REQUEST: | |||
GET /triggers/0 HTTP/1.1 | GET /triggers/0 HTTP/1.1 | |||
User-Agent: example-user-agent/0.1 | User-Agent: example-user-agent/0.1 | |||
Host: dcdn.example.com | Host: dcdn.example.com | |||
Accept: */* | Accept: */* | |||
If-None-Match: "6990548174277557683" | If-None-Match: "6990548174277557683" | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 304 Not Modified | HTTP/1.1 304 Not Modified | |||
Content-Length: 0 | Content-Length: 0 | |||
Expires: Wed, 04 May 2016 08:49:10 GMT | Expires: Wed, 04 May 2016 08:49:10 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "6990548174277557683" | ETag: "6990548174277557683" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:10 GMT | Date: Wed, 04 May 2016 08:48:10 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-status | Content-Type: application/cdni; ptype=ci-trigger-status | |||
When the CI/T Trigger Command is complete, the contents of the | When the CI/T Trigger Command is complete, the contents of the | |||
filtered collections will be updated along with their Entity Tags. | filtered collections will be updated along with their Entity Tags. | |||
For example, when the two example CI/T Trigger Commands are complete, | For example, when the two example CI/T Trigger Commands are complete, | |||
the collections of pending and complete Trigger Status Resources | the collections of pending and complete Trigger Status Resources | |||
might look like: | might look like: | |||
REQUEST: | REQUEST: | |||
GET /triggers/pending HTTP/1.1 | GET /triggers/pending HTTP/1.1 | |||
skipping to change at page 36, line 21 ¶ | skipping to change at page 36, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 54 | Content-Length: 54 | |||
Expires: Wed, 04 May 2016 08:49:15 GMT | Expires: Wed, 04 May 2016 08:49:15 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "1337503181677633762" | ETag: "1337503181677633762" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:15 GMT | Date: Wed, 04 May 2016 08:48:15 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
{ | { | |||
"staleresourcetime": 86400, | "staleresourcetime": 86400, | |||
"triggers": [] | "triggers": [] | |||
} | } | |||
REQUEST: | REQUEST: | |||
GET /triggers/complete HTTP/1.1 | GET /triggers/complete HTTP/1.1 | |||
User-Agent: example-user-agent/0.1 | User-Agent: example-user-agent/0.1 | |||
skipping to change at page 37, line 21 ¶ | skipping to change at page 37, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 152 | Content-Length: 152 | |||
Expires: Wed, 04 May 2016 08:49:22 GMT | Expires: Wed, 04 May 2016 08:49:22 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "4481489539378529796" | ETag: "4481489539378529796" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:22 GMT | Date: Wed, 04 May 2016 08:48:22 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
{ | { | |||
"staleresourcetime": 86400, | "staleresourcetime": 86400, | |||
"triggers": [ | "triggers": [ | |||
"https://dcdn.example.com/triggers/0", | "https://dcdn.example.com/triggers/0", | |||
"https://dcdn.example.com/triggers/1" | "https://dcdn.example.com/triggers/1" | |||
] | ] | |||
} | } | |||
6.2.5. Deleting Trigger Status Resources | 6.2.5. Deleting Trigger Status Resources | |||
skipping to change at page 38, line 24 ¶ | skipping to change at page 38, line 24 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 105 | Content-Length: 105 | |||
Expires: Wed, 04 May 2016 08:49:22 GMT | Expires: Wed, 04 May 2016 08:49:22 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "-6938620031669085677" | ETag: "-6938620031669085677" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:22 GMT | Date: Wed, 04 May 2016 08:48:22 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-collection | Content-Type: application/cdni; ptype=ci-trigger-collection | |||
{ | { | |||
"staleresourcetime": 86400, | "staleresourcetime": 86400, | |||
"triggers": [ | "triggers": [ | |||
"https://dcdn.example.com/triggers/1" | "https://dcdn.example.com/triggers/1" | |||
] | ] | |||
} | } | |||
6.2.6. Error Reporting | 6.2.6. Error Reporting | |||
skipping to change at page 39, line 21 ¶ | skipping to change at page 39, line 21 ¶ | |||
RESPONSE: | RESPONSE: | |||
HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
Content-Length: 486 | Content-Length: 486 | |||
Expires: Wed, 04 May 2016 08:49:26 GMT | Expires: Wed, 04 May 2016 08:49:26 GMT | |||
Server: example-server/0.1 | Server: example-server/0.1 | |||
ETag: "5182824839919043757" | ETag: "5182824839919043757" | |||
Cache-Control: max-age=60 | Cache-Control: max-age=60 | |||
Date: Wed, 04 May 2016 08:48:26 GMT | Date: Wed, 04 May 2016 08:48:26 GMT | |||
Content-Type: application/cdni+json; ptype=ci-trigger-status | Content-Type: application/cdni; ptype=ci-trigger-status | |||
{ | { | |||
"ctime": 1462351702, | "ctime": 1462351702, | |||
"errors": [ | "errors": [ | |||
{ | { | |||
"content.urls": [ | "content.urls": [ | |||
"https://newsite.example.com/index.html" | "https://newsite.example.com/index.html" | |||
], | ], | |||
"description": "newsite.example.com not in HostIndex", | "description": "newsite.example.com not in HostIndex", | |||
"error": "emeta" | "error": "emeta" | |||
End of changes. 19 change blocks. | ||||
23 lines changed or deleted | 22 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |