Brandon Liu
5b8627b0d8
Implement ETag logic for AWS and Cloudflare [ #90 ] ( #354 )
2024-02-07 11:46:05 +08:00
Brandon Liu
e86dd554be
lint cloudflare implementation ( #352 )
...
Add linters to AWS and cloudflare implementations [#287 ]
2024-02-05 16:59:06 +08:00
Brandon Liu
179b1590b1
JS: ETags logic as part of Sources [ #90 ] ( #341 )
...
* Simplifies ETag logic into Source, making if-match conditional requests possible.
* Avoid if-match in FetchSource for latency reasons - use cache buster on ETag change
* handle weak ETags correctly
* add mock fetch server for testing ETags [#90 ]
2024-01-31 23:00:24 +08:00
Brandon Liu
22d7a58f36
replace esbuild runner with tsx ( #333 )
...
* also bump esbuild to latest version in all package.jsons
2024-01-29 17:51:42 +08:00
Brandon Liu
8925d4272b
add utility module for AWS regions. ( #259 )
2023-09-28 14:31:22 +08:00
Blayne Chard
d1ea859443
add ETag and cache-control headers for 200 responses ( #231 )
...
* add etag and cache control headers for 200 responses
* fixup eTag -> ETag
2023-08-08 11:11:42 +08:00
Brandon Liu
7bab1d744e
aws: bump s3 client to 3.360.0 ( #216 )
...
* aws: bump s3 client to 3.360.0
2023-07-07 15:34:46 +08:00
Brandon Liu
0cac52741b
aws: return 501 instead of 400 if no PUBLIC_HOSTNAME configured for TileJSON
2023-06-23 20:23:19 +08:00
Brandon Liu
10021809dc
add AVIF enum in JS client [ #116 ]
2023-06-22 10:08:34 +08:00
Brandon Liu
17218ecb77
Merge pull request #170 from protomaps/cloudflare-tilejson
...
Cloudflare TileJSON
2023-06-21 18:34:28 +08:00
Brandon Liu
dc8eb73458
TileJSON support for Cloudflare and AWS [ #169 ]
...
* Remove TILE_PATH configuration as this makes supporting non-tile paths difficult
* create shared/ dir in serverless for common code
* linting fixes
2023-06-21 18:19:10 +08:00
Brandon Liu
7250f81846
serverless: improve error message if request doesn't match archive type [ #190 ]
2023-06-07 09:26:51 -04:00
Brandon Liu
cdda65a7eb
serverless js: make formatting consistent
2023-03-13 14:29:59 +08:00
James Scott-Brown
75da1623e2
correct build-> install in README
2023-03-06 16:23:36 +00:00
James Scott-Brown
ee86cb6c82
clarify build instructions for AWS lambda function
...
Doing a clean checkout then npm run build isn't enough to build the Lambda function - it will result in errors like
```
X [ERROR] Could not resolve "fflate"
../../js/index.ts:1:31:
1 │ import { decompressSync } from "fflate";
╵ ~~~~~~~~
You can mark the path "fflate" as external to exclude it from the bundle, which will remove this
error.
```
2023-03-06 16:22:21 +00:00
Brandon Liu
283b9f9d24
refactor AWS handler with modular handlerRaw
2022-12-21 16:30:56 +08:00
Brandon Liu
4e68e8eb13
Lambda: attach CORS headers for all 2xx-4xx responses
2022-11-24 13:06:09 +08:00
Brandon Liu
5b4737e066
serverless: fix cache keying with multiple archives.
2022-11-24 02:06:00 +08:00
Brandon Liu
ce6a4dbe0a
fix build and serverless READMEs
2022-11-23 12:06:26 +08:00
Brandon Liu
6b36663d10
serverless README cleanups, wrangler.toml is gitignored
2022-11-23 11:55:57 +08:00
Brandon Liu
f9a4848684
AWS Lambda: set 500ms timeouts on s3 requests to work around latency spikes.
2022-11-23 10:38:03 +08:00
Brandon Liu
f457724da1
pass HTTP metadata in S3/R2 Source impls
2022-11-22 14:43:15 +08:00
Brandon Liu
a619aa84e2
make tsconfigs consistent
2022-11-22 10:59:09 +08:00
Brandon Liu
9a3f519207
pmtiles_path can have {name} multiple times [ #97 ]
2022-11-22 10:47:31 +08:00
Brandon Liu
d986c418e4
aws README fixes
2022-11-22 10:46:40 +08:00
Brandon Liu
b01d90a1d0
AWS Lambda: add dev/staging CORS configuration variable.
2022-11-21 19:29:36 +08:00
Brandon Liu
533df1ba1c
AWS Lambda: Special case API Gateway responses to recompress data, to work around base64/binary content issues.
2022-11-21 19:29:36 +08:00
Brandon Liu
1d74564ab4
allow both pbf and mvt extensions for vector tiles for now. In the future, pbf option will be removed.
2022-11-21 19:29:36 +08:00
Brandon Liu
1da20f4f49
update AWS Lambda README with API Gateway and content-type details.
2022-11-21 19:29:36 +08:00
Brandon Liu
e86d9b7e04
AWS Lambda: port to node 18 and aws sdk v3
2022-11-21 19:29:36 +08:00
Brandon Liu
f3a5e0ab32
fix README aws examples
2022-11-21 19:29:36 +08:00
Brandon Liu
652666288b
cf set cache size explicitly
2022-11-21 19:29:36 +08:00
Brandon Liu
9fd1d39ab5
aws/cf depend on js/index instead of dist
2022-11-21 19:29:10 +08:00
Brandon Liu
4f0292ff91
lambda: native decompression, 256MB LRU cache
2022-11-21 19:29:10 +08:00
Brandon Liu
6d866e3507
AWS Lambda: mime types and extensions; remove CORS config from code
2022-11-14 14:39:58 +08:00
Brandon Liu
79c87fb04a
MIME type fixups for CDN compression
2022-11-11 20:21:22 +08:00
Brandon Liu
546cc93b01
update lambda README
2022-10-19 23:16:36 +08:00
Brandon Liu
6ed943d156
migrate Lambda implementation from python -> node [ #80 ]
2022-10-19 23:01:53 +08:00
Brandon Liu
bf813a75e9
lambda: better error reporting for misconfiguration
2022-08-02 19:55:21 -07:00
Brandon Liu
5d841713ba
Update README.md
2022-08-02 19:22:17 -07:00
Brandon Liu
5787962dcf
Update README.md
2022-07-30 11:39:42 +08:00
Michal Migurski
c4f5a8f8bc
204 responses also need CORS headers
2022-07-28 17:16:42 -07:00
Michal Migurski
354477ae02
Moved CORS headers up to include non-200 responses
2022-07-28 14:19:49 -07:00
Brandon Liu
0557f0e23c
lambda function CORS controlled by environment variable
2022-07-28 12:37:50 +08:00
Michal Migurski
f944b6f1c9
Add CORS response header
2022-07-27 11:15:16 -07:00
Brandon Liu
c161c01322
AWS: special case API gateway to always return gzipped data to avoid binary/base64 unwanted behavior.
2022-07-27 00:37:12 +08:00
Brandon Liu
87c47a23fb
Update README.md
2022-07-23 13:01:17 +08:00
Brandon Liu
02ac315df6
change API gateway path param to 'proxy'
2022-07-22 00:33:37 +08:00
Brandon Liu
e173ca76f6
Update README.md
2022-07-21 23:44:14 +08:00
Brandon Liu
ae986bbed5
lambda + API Gateway proper path integration; fix exceptions when archive missing
2022-07-21 23:41:44 +08:00