Cloudflare で Purge Files by URL したときのログ

# Purge Files by URL とは

こちらの操作です。

https://dash.cloudflare.com/?to=/:account/:zone/caching/configuration

![image-20220113031910125](https://cdn.jsdelivr.net/gh/kyouheicf/image@master/uPic/image-20220113031910125.png)

![image-20220113031825758](https://cdn.jsdelivr.net/gh/kyouheicf/image@master/uPic/image-20220113031825758.png)

API の場合は、こちら↓です。

https://api.cloudflare.com/#zone-purge-files-by-url

> Granularly remove one or more files from Cloudflare's cache either by specifying URLs. All tiers can purge by URL

通常、Cache Key は Zone ID と URL から構成され、Purge Files by URL の際に URL 指定することで Cache File を特定できます。

[Cache Keys · Cloudflare Cache docs](https://developers.cloudflare.com/cache/about/cache-keys)

> The default Cache Key constructed from this request combines aspects  such as Cloudflare Zone ID, scheme, hostname, and path into a Cache Key  similar to  `1234:https://www.example.com/foo.jpg`. Zone ID and Path are always included in the Cache Key and cannot be modified.

# Purge Files by URL を API で実施

まず、キャッシュされていることを確認します。

```shell
% curl -sIXGET https://example.com/cf-logo-on-white-bg.svg | grep cf-cache-status
cf-cache-status: HIT
```

API 経由で Purge Files by URL します。

```shell
export EMAIL='YOUR_EMAIL'
export APIKEY='YOUR_APIKEY'
export ZONE_ID='YOUR_ZONE_ID'

curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache" \
  -H "X-Auth-Email: $EMAIL" \
  -H "X-Auth-Key: $APIKEY" \
  -H "Content-Type: application/json" \
  --data '{"files":["https://example.com/cf-logo-on-white-bg.svg"]}'
```

```json:result.json
{
  "result": {
    "id": "xxx"
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

その後、`cf-cache-status: MISS` となることが確認できます。

```shell
% curl -sIXGET https://example.com/cf-logo-on-white-bg.svg | grep cf-cache-status                     
cf-cache-status: MISS
```

# Purge Files by URL したときのログ

[Cloudflare の HTTP リクエストログ - Qiita](https://qiita.com/khayama/items/85c87423261442a35d0b) を参考にして確認します。

```shell
export EMAIL='YOUR_EMAIL'
export APIKEY='YOUR_APIKEY'
export ZONE_ID='YOUR_ZONE_ID'
export FIELDS=ClientRequestURI,EdgeEndTimestamp,ClientRequestMethod,EdgeResponseStatus,EdgeColoCode,EdgeColoID

START='2022-01-13T03:30:00%2B09:00'
END='2022-01-13T03:40:00%2B09:00'

curl -s \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $APIKEY" \
"https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logs/received?timestamps=rfc3339&start=$START&end=$END&fields=$FIELDS" | jq -s -r '.|sort_by(.EdgeEndTimestamp)|.[]|select(.EdgeColoCode=="NRT")|['.${FIELDS//,/,.}']|@tsv' | column -t
```

東京のエッジ拠点に絞って、抽出した結果です。それぞれの `EdgeColoID` で `PURGE 200` のログが残っていることがわかります。 該当 Colo にキャッシュが存在していて、それが削除されたことの結果になります。

```shell
/cf-logo-on-white-bg.svg  2022-01-12T18:29:13Z  GET    200  NRT  22
/cf-logo-on-white-bg.svg  2022-01-12T18:29:50Z  GET    200  NRT  408
/cf-logo-on-white-bg.svg  2022-01-12T18:29:58Z  GET    200  NRT  22
/cf-logo-on-white-bg.svg  2022-01-12T18:30:01Z  GET    200  NRT  22
/cf-logo-on-white-bg.svg  2022-01-12T18:33:19Z  GET    200  NRT  382
/cf-logo-on-white-bg.svg  2022-01-12T18:33:25Z  GET    200  NRT  448
/cf-logo-on-white-bg.svg  2022-01-12T18:33:28Z  GET    200  NRT  448
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT  22
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT  408
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT  448
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT  382
/cf-logo-on-white-bg.svg  2022-01-12T18:33:46Z  GET    200  NRT  448
```

全てのエッジ拠点のログを確認します。

```shell
curl -s \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $APIKEY" \
"https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logs/received?timestamps=rfc3339&start=$START&end=$END&fields=$FIELDS" | jq -s -r '.|sort_by(.EdgeEndTimestamp)|.[]|['.${FIELDS//,/,.}']|@tsv' | column -t
```

以下のように、そもそもキャッシュが存在しないエッジ拠点については `PURGE 404` のログが確認できます。

```shell
/cf-logo-on-white-bg.svg  2022-01-12T18:29:13Z  GET    200  NRT      22
/cf-logo-on-white-bg.svg  2022-01-12T18:29:50Z  GET    200  NRT      408
/cf-logo-on-white-bg.svg  2022-01-12T18:29:58Z  GET    200  NRT      22
/cf-logo-on-white-bg.svg  2022-01-12T18:30:01Z  GET    200  NRT      22
/cf-logo-on-white-bg.svg  2022-01-12T18:33:19Z  GET    200  NRT      382
/cf-logo-on-white-bg.svg  2022-01-12T18:33:25Z  GET    200  NRT      448
/cf-logo-on-white-bg.svg  2022-01-12T18:33:28Z  GET    200  NRT      448
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ORD      397
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LED      158
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SOF      74
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KHV      433
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PAT      414
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KIX      51
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PMO      337
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAD      365
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CFC      381
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BEY      150
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EVN      427
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LOS      174
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BKK      86
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LAX      446
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CWB      358
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KWI      53
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ASU      209
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CMH      185
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ATL      27
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  STL      94
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ASU      241
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SCL      193
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  QWJ      393
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MRU      139
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RGN      267
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  NBO      261
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YOW      184
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DMM      304
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  405  POA      299
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CGK      218
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  VTE      238
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DFW      15
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DEL      268
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PNH      144
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IND      154
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAN      341
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MXP      270
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DUS      48
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  VNO      148
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YYZ      29
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LIS      107
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SJP      458
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KUL      228
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TLV      149
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SFO-DOG  131
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CGP      223
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAN      63
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BOM      215
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CMB      237
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ZAG      124
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BOG      161
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DEL      57
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MLE      214
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BEL      409
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SJO      258
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ADL      165
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MUC      100
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HAN      233
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ULN      206
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TLH      160
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  AKL      46
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MEL      47
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BGW      146
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  WAW      73
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KHI      207
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAA      59
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT      22
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ITJ      392
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  FOR      196
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DXB      243
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KTM      142
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DUB      52
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MCI      125
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAD      354
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MIA      369
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAD      352
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ISB      186
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HKG      23
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MEM      156
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MFM      140
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BOM      453
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CWB      194
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YVR      69
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KIX      455
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TUN      247
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT      408
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MIA      368
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BGW      305
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BKK      127
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SMF      138
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IST      189
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LHE      188
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DOH      54
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ALA      281
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KIV      166
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LIM      405
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LHR      21
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DEN      98
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KWI      245
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TLV      462
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  VCP      291
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TUN      256
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SGN      176
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PHL      102
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CUR      105
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BLR      282
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GRU      97
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TLL      152
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CMB      260
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DUR      136
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SCL      110
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CPT      113
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SJC      4
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PHX      66
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  JIB      122
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LCA      203
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DTW      116
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PIT      137
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ORD      415
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ORF      163
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EZE      246
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ARN      128
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  OMA      121
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RUH      130
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EWR      386
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BKK      175
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  AMS      20
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  OTP      50
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SVX      308
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ORD      398
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SOD      380
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MNL      68
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MXP      39
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GUA      212
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MNL      77
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  JNB      45
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PNH      301
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SEA      28
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  FCO      126
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ICN      34
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAH      162
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LIM      275
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT      448
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SIN      412
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EWR      388
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BLR      221
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EVN      117
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BNU      391
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MSQ      419
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  AMD      422
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ATH      88
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MGM      157
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BEG      120
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SSA      416
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAO      424
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  FRA      71
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  FOR      357
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DAC      303
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GYD      200
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KTM      292
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MRS      49
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PBH      227
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DXB      60
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DAC      257
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YXE      167
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CPH      65
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  NAG      222
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BGW      359
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TLV      439
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LHR      376
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SIN      410
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BKK      104
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IST      342
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DAR      211
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ZDM      180
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SKG      197
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  QRO      190
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BWN      229
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CCU      283
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LIM      399
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CCU      217
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ALG      343
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KWI      249
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MSP      72
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DKR      147
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LUX      169
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MBA      61
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MPM      195
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAD      16
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RAO      340
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TXL      67
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BOS      106
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RIX      151
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GOT      201
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LOS      198
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GIG      216
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SYD      26
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LAS      81
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LAX      12
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CDG      19
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SAN      109
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LED      417
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GUM      279
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SJP      423
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PNH      274
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  OSL      83
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KIX      370
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GYE      450
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YYC      153
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LHR      373
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DME      87
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EWR      11
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CMB      111
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PDX      119
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BLR      374
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  VIE      114
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MIA      17
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KGL      204
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SCL      38
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LAX      447
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LIM      43
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  JHB      242
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HAM      75
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAD      40
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  UIO      95
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GYE      360
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BUF      199
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  JSR      248
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAD      366
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TNR      226
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IST      336
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EZE      44
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LCA      235
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HAN      177
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TGU      239
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DME      404
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LAX      445
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CMN      182
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CLT      181
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KJA      284
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EDI      76
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BUD      123
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RUH      339
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MCT      55
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HYD      112
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  FLN      390
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RUH      346
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PAP      205
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GYN      403
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SSA      250
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KEF      145
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GYD      306
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CBR      285
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TPA      103
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TBS      255
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BKK      129
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GND      231
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CGY      406
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GRU      331
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ARI      219
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BOM      202
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SIN      35
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  NOU      208
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ZRH      64
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ORD      14
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAD      413
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HNL      232
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ORK      213
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HYD      269
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KUL      56
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  RIC      172
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YUL      70
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DAC      230
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KHI      179
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MFE      135
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BCN      89
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LHR      377
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAD      350
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  ULN      173
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SLC      143
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MIA      363
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MDL      326
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BSB      298
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  URT      344
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DMM      384
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BRU      78
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  LAD      96
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PRG      31
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  IAD      351
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  KTM      347
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HRE      266
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CEB      141
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  AMM      187
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  SIN      411
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BAH      170
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MAD      367
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  TPE      80
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  DEL      356
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HKG      134
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MDE      41
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  EWR      452
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  YWG      168
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  BNE      85
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  POA      191
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  CNF      385
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  JAX      155
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PBM      236
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  PER      84
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  MEX      159
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  HEL      79
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  200  NRT      382
/cf-logo-on-white-bg.svg  2022-01-12T18:33:40Z  PURGE  404  GVA      192
/cf-logo-on-white-bg.svg  2022-01-12T18:33:46Z  GET    200  NRT      448
/cf-logo-on-white-bg.svg  2022-01-12T18:38:11Z  PURGE  404  KHI      220
```