Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for file_max_bytes configuration for azure logging endpoint #255

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions fastly/blobstorage.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type BlobStorage struct {
MessageType string `mapstructure:"message_type"`
Placement string `mapstructure:"placement"`
ResponseCondition string `mapstructure:"response_condition"`
FileMaxBytes uint `mapstructure:"file_max_bytes"`
Integralist marked this conversation as resolved.
Show resolved Hide resolved
CreatedAt *time.Time `mapstructure:"created_at"`
UpdatedAt *time.Time `mapstructure:"updated_at"`
DeletedAt *time.Time `mapstructure:"deleted_at"`
Expand Down Expand Up @@ -98,6 +99,7 @@ type CreateBlobStorageInput struct {
MessageType string `form:"message_type,omitempty"`
Placement string `form:"placement,omitempty"`
ResponseCondition string `form:"response_condition,omitempty"`
FileMaxBytes uint `form:"file_max_bytes,omitempty"`
}

// CreateBlobStorage creates a new Fastly blob storage.
Expand Down Expand Up @@ -188,6 +190,7 @@ type UpdateBlobStorageInput struct {
MessageType *string `form:"message_type,omitempty"`
Placement *string `form:"placement,omitempty"`
ResponseCondition *string `form:"response_condition,omitempty"`
FileMaxBytes *uint `form:"file_max_bytes,omitempty"`
}

// UpdateBlobStorage updates a specific blob storage.
Expand Down
19 changes: 19 additions & 0 deletions fastly/blobstorage_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import (
"testing"
)

const (
MiB = 1048576
)

func TestClient_BlobStorages(t *testing.T) {
t.Parallel()

Expand Down Expand Up @@ -32,6 +36,7 @@ func TestClient_BlobStorages(t *testing.T) {
FormatVersion: 2,
MessageType: "classic",
Placement: "waf_debug",
FileMaxBytes: MiB,
})
})
if err != nil {
Expand All @@ -55,6 +60,7 @@ func TestClient_BlobStorages(t *testing.T) {
FormatVersion: 2,
MessageType: "classic",
Placement: "waf_debug",
FileMaxBytes: 10 * MiB,
})
})
if err != nil {
Expand Down Expand Up @@ -155,20 +161,29 @@ func TestClient_BlobStorages(t *testing.T) {
if bsCreateResp1.Placement != "waf_debug" {
t.Errorf("bad placement: %q", bsCreateResp1.Placement)
}
if bsCreateResp1.FileMaxBytes != MiB {
t.Errorf("bad file_max_bytes: %q", bsCreateResp1.FileMaxBytes)
}

if bsCreateResp2.CompressionCodec != "" {
t.Errorf("bad compression_codec: %q", bsCreateResp2.CompressionCodec)
}
if bsCreateResp2.GzipLevel != 8 {
t.Errorf("bad gzip_level: %q", bsCreateResp2.GzipLevel)
}
if bsCreateResp2.FileMaxBytes != 10*MiB {
t.Errorf("bad file_max_bytes: %q", bsCreateResp2.FileMaxBytes)
}

if bsCreateResp3.CompressionCodec != "snappy" {
t.Errorf("bad compression_codec: %q", bsCreateResp3.CompressionCodec)
}
if bsCreateResp3.GzipLevel != 0 {
t.Errorf("bad gzip_level: %q", bsCreateResp3.GzipLevel)
}
if bsCreateResp3.FileMaxBytes != 0 {
t.Errorf("bad file_max_bytes: %q", bsCreateResp3.FileMaxBytes)
}

// List
var bsl []*BlobStorage
Expand Down Expand Up @@ -249,6 +264,7 @@ func TestClient_BlobStorages(t *testing.T) {
Name: "test-blobstorage",
NewName: String("new-test-blobstorage"),
CompressionCodec: String("zstd"),
FileMaxBytes: Uint(5 * MiB),
})
})
if err != nil {
Expand Down Expand Up @@ -289,6 +305,9 @@ func TestClient_BlobStorages(t *testing.T) {
if bsUpdateResp1.CompressionCodec != "zstd" {
t.Errorf("bad compression_codec: %q", bsUpdateResp1.CompressionCodec)
}
if bsUpdateResp1.FileMaxBytes != 5*MiB {
t.Errorf("bad file_max_bytes: %q", bsUpdateResp1.FileMaxBytes)
}

if bsUpdateResp2.CompressionCodec != "zstd" {
t.Errorf("bad compression_codec: %q", bsUpdateResp2.CompressionCodec)
Expand Down
60 changes: 30 additions & 30 deletions fastly/fixtures/blobstorages/cleanup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ interactions:
form: {}
headers:
User-Agent:
- FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/28/logging/azureblob/test-blobstorage
- FastlyGo/3.0.0 (+github.com/fastly/go-fastly; go1.15.2)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/118/logging/azureblob/test-blobstorage
method: DELETE
response:
body: '{"msg":"Record not found","detail":"Couldn''t find syslog ''{ deleted =\u003e
0000-00-00 00:00:00, name =\u003e test-blobstorage, service =\u003e 7i6HN3TK9wS159v2gPAZ8A,
version =\u003e 28 }''"}'
version =\u003e 118 }''"}'
headers:
Accept-Ranges:
- bytes
Expand All @@ -21,11 +21,11 @@ interactions:
Content-Type:
- application/json
Date:
- Thu, 14 Jan 2021 10:35:54 GMT
- Wed, 27 Jan 2021 22:56:49 GMT
Fastly-Ratelimit-Remaining:
- "812"
- "991"
Fastly-Ratelimit-Reset:
- "1610622000"
- "1611788400"
Status:
- 404 Not Found
Strict-Transport-Security:
Expand All @@ -39,9 +39,9 @@ interactions:
X-Cache-Hits:
- 0, 0
X-Served-By:
- cache-control-slwdc9037-CONTROL-SLWDC, cache-man4127-MAN
- cache-control-slwdc9036-CONTROL-SLWDC, cache-den8267-DEN
X-Timer:
- S1610620555.817156,VS0,VE173
- S1611788210.714626,VS0,VE147
status: 404 Not Found
code: 404
duration: ""
Expand All @@ -50,8 +50,8 @@ interactions:
form: {}
headers:
User-Agent:
- FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/28/logging/azureblob/test-blobstorage-2
- FastlyGo/3.0.0 (+github.com/fastly/go-fastly; go1.15.2)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/118/logging/azureblob/test-blobstorage-2
method: DELETE
response:
body: '{"status":"ok"}'
Expand All @@ -63,11 +63,11 @@ interactions:
Content-Type:
- application/json
Date:
- Thu, 14 Jan 2021 10:35:55 GMT
- Wed, 27 Jan 2021 22:56:50 GMT
Fastly-Ratelimit-Remaining:
- "811"
- "990"
Fastly-Ratelimit-Reset:
- "1610622000"
- "1611788400"
Status:
- 200 OK
Strict-Transport-Security:
Expand All @@ -81,9 +81,9 @@ interactions:
X-Cache-Hits:
- 0, 0
X-Served-By:
- cache-control-slwdc9036-CONTROL-SLWDC, cache-man4127-MAN
- cache-control-slwdc9037-CONTROL-SLWDC, cache-den8267-DEN
X-Timer:
- S1610620555.036120,VS0,VE276
- S1611788210.874908,VS0,VE242
status: 200 OK
code: 200
duration: ""
Expand All @@ -92,8 +92,8 @@ interactions:
form: {}
headers:
User-Agent:
- FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/28/logging/azureblob/test-blobstorage-3
- FastlyGo/3.0.0 (+github.com/fastly/go-fastly; go1.15.2)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/118/logging/azureblob/test-blobstorage-3
method: DELETE
response:
body: '{"status":"ok"}'
Expand All @@ -105,11 +105,11 @@ interactions:
Content-Type:
- application/json
Date:
- Thu, 14 Jan 2021 10:35:55 GMT
- Wed, 27 Jan 2021 22:56:50 GMT
Fastly-Ratelimit-Remaining:
- "810"
- "989"
Fastly-Ratelimit-Reset:
- "1610622000"
- "1611788400"
Status:
- 200 OK
Strict-Transport-Security:
Expand All @@ -123,9 +123,9 @@ interactions:
X-Cache-Hits:
- 0, 0
X-Served-By:
- cache-control-slwdc9036-CONTROL-SLWDC, cache-man4127-MAN
- cache-control-slwdc9036-CONTROL-SLWDC, cache-den8267-DEN
X-Timer:
- S1610620555.435948,VS0,VE343
- S1611788210.130171,VS0,VE235
status: 200 OK
code: 200
duration: ""
Expand All @@ -134,13 +134,13 @@ interactions:
form: {}
headers:
User-Agent:
- FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/28/logging/azureblob/new-test-blobstorage
- FastlyGo/3.0.0 (+github.com/fastly/go-fastly; go1.15.2)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/118/logging/azureblob/new-test-blobstorage
method: DELETE
response:
body: '{"msg":"Record not found","detail":"Couldn''t find syslog ''{ deleted =\u003e
0000-00-00 00:00:00, name =\u003e new-test-blobstorage, service =\u003e 7i6HN3TK9wS159v2gPAZ8A,
version =\u003e 28 }''"}'
version =\u003e 118 }''"}'
headers:
Accept-Ranges:
- bytes
Expand All @@ -149,11 +149,11 @@ interactions:
Content-Type:
- application/json
Date:
- Thu, 14 Jan 2021 10:35:56 GMT
- Wed, 27 Jan 2021 22:56:50 GMT
Fastly-Ratelimit-Remaining:
- "809"
- "988"
Fastly-Ratelimit-Reset:
- "1610622000"
- "1611788400"
Status:
- 404 Not Found
Strict-Transport-Security:
Expand All @@ -167,9 +167,9 @@ interactions:
X-Cache-Hits:
- 0, 0
X-Served-By:
- cache-control-slwdc9035-CONTROL-SLWDC, cache-man4127-MAN
- cache-control-slwdc9035-CONTROL-SLWDC, cache-den8267-DEN
X-Timer:
- S1610620556.849057,VS0,VE172
- S1611788210.378950,VS0,VE136
status: 404 Not Found
code: 404
duration: ""
24 changes: 13 additions & 11 deletions fastly/fixtures/blobstorages/create.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@
version: 1
interactions:
- request:
body: ServiceID=7i6HN3TK9wS159v2gPAZ8A&ServiceVersion=28&account_name=test&compression_codec=snappy&container=fastly&format=%25h+%25l+%25u+%25%7Bnow%7DV+%25%7Breq.method%7DV+%25%7Breq.url%7DV+%25%3Es+%25%7Bresp.http.Content-Length%7DV&format_version=2&message_type=classic&name=test-blobstorage&path=%2Flogs&period=12&placement=waf_debug&public_key=-----BEGIN+PGP+PUBLIC+KEY+BLOCK-----%0A%0AmQENBFyUD8sBCACyFnB39AuuTygseek%2BeA4fo0cgwva6%2FFSjnWq7riouQee8GgQ%2F%0AibXTRyv4iVlwI12GswvMTIy7zNvs1R54i0qvsLr%2BIZ4GVGJqs6ZJnvQcqe3xPoR4%0A8AnBfw90o32r%2FLuHf6QCJXi%2BAEu35koNlNAvLJ2B%2BKACaNB7N0EeWmqpV%2F1V2k9p%0AlDYk%2Bth7LcCuaFNGqKS%2FPrMnnMqR6VDLCjHhNx4KR79b0Twm%2F2qp6an3hyNRu8Gn%0Adwxpf1%2FBUu3JWf%2BLqkN4Y3mbOmSUL3MaJNvyQguUzTfS0P0uGuBDHrJCVkMZCzDB%0A89ag55jCPHyGeHBTd02gHMWzsg3WMBWvCsrzABEBAAG0JXRlcnJhZm9ybSAodGVz%0AdCkgPHRlc3RAdGVycmFmb3JtLmNvbT6JAU4EEwEIADgWIQSHYyc6Kj9l6HzQsau6%0AvFFc9jxV%2FwUCXJQPywIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRC6vFFc%0A9jxV%2F815CAClb32OxV7wG01yF97TzlyTl8TnvjMtoG29Mw4nSyg%2BmjM3b8N7iXm9%0AOLX59fbDAWtBSldSZE22RXd3CvlFOG%2FEnKBXSjBtEqfyxYSnyOPkMPBYWGL%2FApkX%0ASvPYJ4LKdvipYToKFh3y9kk2gk1DcDBDyaaHvR%2B3rv1u3aoy7%2Fs2EltAfDS3ZQIq%0A7%2FcWTLJml%2FlleeB%2FY6rPj8xqeCYhE5ahw9gsV%2FMdqatl24V9Tks30iijx0Hhw%2BGx%0AkATUikMGr2GDVqoIRga5kXI7CzYff4rkc0Twn47fMHHHe%2FKY9M2yVnMHUXmAZwbG%0AM1cMI%2FNH1DjevCKdGBLcRJlhuLPKF%2FanuQENBFyUD8sBCADIpd7r7GuPd6n%2FIkxe%0Au6h7umV6IIPoAm88xCYpTbSZiaK30Svh6Ywra9jfE2KlU9o6Y%2Fart8ip0VJ3m07L%0A4RSfSpnzqgSwdjSq5hNour2Fo%2FBzYhK7yaz2AzVSbe33R0%2BRYhb4b%2F6N%2BbKbjwGF%0AftCsqVFMH%2BPyvYkLbvxyQrHlA9woAZaNThI1ztO5rGSnGUR8xt84eup28WIFKg0K%0AUEGUcTzz%2B8QGAwAra%2B0ewPXo%2FAkO%2B8BvZjDidP417u6gpBHOJ9qYIcO9FxHeqFyu%0AYrjlrxowEgXn5wO8xuNz6Vu1vhHGDHGDsRbZF8pv1d5O%2B0F1G7ttZ2GRRgVBZPwi%0AkiyRABEBAAGJATYEGAEIACAWIQSHYyc6Kj9l6HzQsau6vFFc9jxV%2FwUCXJQPywIb%0ADAAKCRC6vFFc9jxV%2F9YOCACe8qmOSnKQpQfW%2BPqYOqo3dt7JyweTs3FkD6NT8Zml%0AdYy%2FvkstbTjPpX6aTvUZjkb46BVi7AOneVHpD5GBqvRsZ9iVgDYHaehmLCdKiG5L%0A3Tp90NN%2BQY5WDbsGmsyk6%2B6ZMYejb4qYfweQeduOj27aavCJdLkCYMoRKfcFYI8c%0AFaNmEfKKy%2Fr1PO20NXEG6t9t05K%2FfrHy6ZG8bCNYdpagfFVot47r9JaQqWlTNtIR%0A5%2BzkkSq%2FeG9BEtRij3a6cTdQbktdBzx2KBeI0PYc1vlZR0LpuFKZqY9vlE6vTGLR%0AwMfrTEOvx0NxUM3rpaCgEmuWbB1G1Hu371oyr4srrr%2BN%0A%3D28dr%0A-----END+PGP+PUBLIC+KEY+BLOCK-----%0A&sas_token=sv%3D2015-04-05%26ss%3Db%26srt%3Dsco%26sp%3Drw%26se%3D2030-07-21T18%253A00%253A00Z%26sig%3D3ABdLOJZosCp0o491T%252BqZGKIhafF1nlM3MzESDDD3Gg%253D&timestamp_format=%25Y-%25m-%25dT%25H%3A%25M%3A%25S.000
body: ServiceID=7i6HN3TK9wS159v2gPAZ8A&ServiceVersion=118&account_name=test&compression_codec=snappy&container=fastly&file_max_bytes=1048576&format=%25h+%25l+%25u+%25%7Bnow%7DV+%25%7Breq.method%7DV+%25%7Breq.url%7DV+%25%3Es+%25%7Bresp.http.Content-Length%7DV&format_version=2&message_type=classic&name=test-blobstorage&path=%2Flogs&period=12&placement=waf_debug&public_key=-----BEGIN+PGP+PUBLIC+KEY+BLOCK-----%0A%0AmQENBFyUD8sBCACyFnB39AuuTygseek%2BeA4fo0cgwva6%2FFSjnWq7riouQee8GgQ%2F%0AibXTRyv4iVlwI12GswvMTIy7zNvs1R54i0qvsLr%2BIZ4GVGJqs6ZJnvQcqe3xPoR4%0A8AnBfw90o32r%2FLuHf6QCJXi%2BAEu35koNlNAvLJ2B%2BKACaNB7N0EeWmqpV%2F1V2k9p%0AlDYk%2Bth7LcCuaFNGqKS%2FPrMnnMqR6VDLCjHhNx4KR79b0Twm%2F2qp6an3hyNRu8Gn%0Adwxpf1%2FBUu3JWf%2BLqkN4Y3mbOmSUL3MaJNvyQguUzTfS0P0uGuBDHrJCVkMZCzDB%0A89ag55jCPHyGeHBTd02gHMWzsg3WMBWvCsrzABEBAAG0JXRlcnJhZm9ybSAodGVz%0AdCkgPHRlc3RAdGVycmFmb3JtLmNvbT6JAU4EEwEIADgWIQSHYyc6Kj9l6HzQsau6%0AvFFc9jxV%2FwUCXJQPywIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRC6vFFc%0A9jxV%2F815CAClb32OxV7wG01yF97TzlyTl8TnvjMtoG29Mw4nSyg%2BmjM3b8N7iXm9%0AOLX59fbDAWtBSldSZE22RXd3CvlFOG%2FEnKBXSjBtEqfyxYSnyOPkMPBYWGL%2FApkX%0ASvPYJ4LKdvipYToKFh3y9kk2gk1DcDBDyaaHvR%2B3rv1u3aoy7%2Fs2EltAfDS3ZQIq%0A7%2FcWTLJml%2FlleeB%2FY6rPj8xqeCYhE5ahw9gsV%2FMdqatl24V9Tks30iijx0Hhw%2BGx%0AkATUikMGr2GDVqoIRga5kXI7CzYff4rkc0Twn47fMHHHe%2FKY9M2yVnMHUXmAZwbG%0AM1cMI%2FNH1DjevCKdGBLcRJlhuLPKF%2FanuQENBFyUD8sBCADIpd7r7GuPd6n%2FIkxe%0Au6h7umV6IIPoAm88xCYpTbSZiaK30Svh6Ywra9jfE2KlU9o6Y%2Fart8ip0VJ3m07L%0A4RSfSpnzqgSwdjSq5hNour2Fo%2FBzYhK7yaz2AzVSbe33R0%2BRYhb4b%2F6N%2BbKbjwGF%0AftCsqVFMH%2BPyvYkLbvxyQrHlA9woAZaNThI1ztO5rGSnGUR8xt84eup28WIFKg0K%0AUEGUcTzz%2B8QGAwAra%2B0ewPXo%2FAkO%2B8BvZjDidP417u6gpBHOJ9qYIcO9FxHeqFyu%0AYrjlrxowEgXn5wO8xuNz6Vu1vhHGDHGDsRbZF8pv1d5O%2B0F1G7ttZ2GRRgVBZPwi%0AkiyRABEBAAGJATYEGAEIACAWIQSHYyc6Kj9l6HzQsau6vFFc9jxV%2FwUCXJQPywIb%0ADAAKCRC6vFFc9jxV%2F9YOCACe8qmOSnKQpQfW%2BPqYOqo3dt7JyweTs3FkD6NT8Zml%0AdYy%2FvkstbTjPpX6aTvUZjkb46BVi7AOneVHpD5GBqvRsZ9iVgDYHaehmLCdKiG5L%0A3Tp90NN%2BQY5WDbsGmsyk6%2B6ZMYejb4qYfweQeduOj27aavCJdLkCYMoRKfcFYI8c%0AFaNmEfKKy%2Fr1PO20NXEG6t9t05K%2FfrHy6ZG8bCNYdpagfFVot47r9JaQqWlTNtIR%0A5%2BzkkSq%2FeG9BEtRij3a6cTdQbktdBzx2KBeI0PYc1vlZR0LpuFKZqY9vlE6vTGLR%0AwMfrTEOvx0NxUM3rpaCgEmuWbB1G1Hu371oyr4srrr%2BN%0A%3D28dr%0A-----END+PGP+PUBLIC+KEY+BLOCK-----%0A&sas_token=sv%3D2015-04-05%26ss%3Db%26srt%3Dsco%26sp%3Drw%26se%3D2030-07-21T18%253A00%253A00Z%26sig%3D3ABdLOJZosCp0o491T%252BqZGKIhafF1nlM3MzESDDD3Gg%253D&timestamp_format=%25Y-%25m-%25dT%25H%3A%25M%3A%25S.000
form:
ServiceID:
- 7i6HN3TK9wS159v2gPAZ8A
ServiceVersion:
- "28"
- "118"
account_name:
- test
compression_codec:
- snappy
container:
- fastly
file_max_bytes:
- "1048576"
format:
- '%h %l %u %{now}V %{req.method}V %{req.url}V %>s %{resp.http.Content-Length}V'
format_version:
Expand Down Expand Up @@ -68,14 +70,14 @@ interactions:
Content-Type:
- application/x-www-form-urlencoded
User-Agent:
- FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/28/logging/azureblob
- FastlyGo/3.0.0 (+github.com/fastly/go-fastly; go1.15.2)
url: https://api.fastly.com/service/7i6HN3TK9wS159v2gPAZ8A/version/118/logging/azureblob
method: POST
response:
body: '{"account_name":"test","compression_codec":"snappy","container":"fastly","format":"%h
body: '{"account_name":"test","compression_codec":"snappy","container":"fastly","file_max_bytes":1048576,"format":"%h
%l %u %{now}V %{req.method}V %{req.url}V %\u003es %{resp.http.Content-Length}V","format_version":"2","message_type":"classic","name":"test-blobstorage","path":"/logs","period":"12","placement":"waf_debug","public_key":"-----BEGIN
PGP PUBLIC KEY BLOCK-----\n\nmQENBFyUD8sBCACyFnB39AuuTygseek+eA4fo0cgwva6/FSjnWq7riouQee8GgQ/\nibXTRyv4iVlwI12GswvMTIy7zNvs1R54i0qvsLr+IZ4GVGJqs6ZJnvQcqe3xPoR4\n8AnBfw90o32r/LuHf6QCJXi+AEu35koNlNAvLJ2B+KACaNB7N0EeWmqpV/1V2k9p\nlDYk+th7LcCuaFNGqKS/PrMnnMqR6VDLCjHhNx4KR79b0Twm/2qp6an3hyNRu8Gn\ndwxpf1/BUu3JWf+LqkN4Y3mbOmSUL3MaJNvyQguUzTfS0P0uGuBDHrJCVkMZCzDB\n89ag55jCPHyGeHBTd02gHMWzsg3WMBWvCsrzABEBAAG0JXRlcnJhZm9ybSAodGVz\ndCkgPHRlc3RAdGVycmFmb3JtLmNvbT6JAU4EEwEIADgWIQSHYyc6Kj9l6HzQsau6\nvFFc9jxV/wUCXJQPywIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRC6vFFc\n9jxV/815CAClb32OxV7wG01yF97TzlyTl8TnvjMtoG29Mw4nSyg+mjM3b8N7iXm9\nOLX59fbDAWtBSldSZE22RXd3CvlFOG/EnKBXSjBtEqfyxYSnyOPkMPBYWGL/ApkX\nSvPYJ4LKdvipYToKFh3y9kk2gk1DcDBDyaaHvR+3rv1u3aoy7/s2EltAfDS3ZQIq\n7/cWTLJml/lleeB/Y6rPj8xqeCYhE5ahw9gsV/Mdqatl24V9Tks30iijx0Hhw+Gx\nkATUikMGr2GDVqoIRga5kXI7CzYff4rkc0Twn47fMHHHe/KY9M2yVnMHUXmAZwbG\nM1cMI/NH1DjevCKdGBLcRJlhuLPKF/anuQENBFyUD8sBCADIpd7r7GuPd6n/Ikxe\nu6h7umV6IIPoAm88xCYpTbSZiaK30Svh6Ywra9jfE2KlU9o6Y/art8ip0VJ3m07L\n4RSfSpnzqgSwdjSq5hNour2Fo/BzYhK7yaz2AzVSbe33R0+RYhb4b/6N+bKbjwGF\nftCsqVFMH+PyvYkLbvxyQrHlA9woAZaNThI1ztO5rGSnGUR8xt84eup28WIFKg0K\nUEGUcTzz+8QGAwAra+0ewPXo/AkO+8BvZjDidP417u6gpBHOJ9qYIcO9FxHeqFyu\nYrjlrxowEgXn5wO8xuNz6Vu1vhHGDHGDsRbZF8pv1d5O+0F1G7ttZ2GRRgVBZPwi\nkiyRABEBAAGJATYEGAEIACAWIQSHYyc6Kj9l6HzQsau6vFFc9jxV/wUCXJQPywIb\nDAAKCRC6vFFc9jxV/9YOCACe8qmOSnKQpQfW+PqYOqo3dt7JyweTs3FkD6NT8Zml\ndYy/vkstbTjPpX6aTvUZjkb46BVi7AOneVHpD5GBqvRsZ9iVgDYHaehmLCdKiG5L\n3Tp90NN+QY5WDbsGmsyk6+6ZMYejb4qYfweQeduOj27aavCJdLkCYMoRKfcFYI8c\nFaNmEfKKy/r1PO20NXEG6t9t05K/frHy6ZG8bCNYdpagfFVot47r9JaQqWlTNtIR\n5+zkkSq/eG9BEtRij3a6cTdQbktdBzx2KBeI0PYc1vlZR0LpuFKZqY9vlE6vTGLR\nwMfrTEOvx0NxUM3rpaCgEmuWbB1G1Hu371oyr4srrr+N\n=28dr\n-----END
PGP PUBLIC KEY BLOCK-----\n","sas_token":"sv=2015-04-05\u0026ss=b\u0026srt=sco\u0026sp=rw\u0026se=2030-07-21T18%3A00%3A00Z\u0026sig=3ABdLOJZosCp0o491T%2BqZGKIhafF1nlM3MzESDDD3Gg%3D","timestamp_format":"%Y-%m-%dT%H:%M:%S.000","service_id":"7i6HN3TK9wS159v2gPAZ8A","version":"28","created_at":"2021-01-14T10:35:48Z","response_condition":"","gzip_level":"0","updated_at":"2021-01-14T10:35:48Z","deleted_at":null}'
PGP PUBLIC KEY BLOCK-----\n","sas_token":"sv=2015-04-05\u0026ss=b\u0026srt=sco\u0026sp=rw\u0026se=2030-07-21T18%3A00%3A00Z\u0026sig=3ABdLOJZosCp0o491T%2BqZGKIhafF1nlM3MzESDDD3Gg%3D","timestamp_format":"%Y-%m-%dT%H:%M:%S.000","service_id":"7i6HN3TK9wS159v2gPAZ8A","version":"118","created_at":"2021-01-27T22:56:45Z","deleted_at":null,"updated_at":"2021-01-27T22:56:45Z","response_condition":"","gzip_level":"0"}'
headers:
Accept-Ranges:
- bytes
Expand All @@ -84,11 +86,11 @@ interactions:
Content-Type:
- application/json
Date:
- Thu, 14 Jan 2021 10:35:49 GMT
- Wed, 27 Jan 2021 22:56:45 GMT
Fastly-Ratelimit-Remaining:
- "819"
- "998"
Fastly-Ratelimit-Reset:
- "1610622000"
- "1611788400"
Status:
- 200 OK
Strict-Transport-Security:
Expand All @@ -102,9 +104,9 @@ interactions:
X-Cache-Hits:
- 0, 0
X-Served-By:
- cache-control-slwdc9035-CONTROL-SLWDC, cache-man4127-MAN
- cache-control-slwdc9035-CONTROL-SLWDC, cache-den8267-DEN
X-Timer:
- S1610620549.723756,VS0,VE1210
- S1611788205.212615,VS0,VE509
status: 200 OK
code: 200
duration: ""
Loading