Commit Graph

59 Commits

Author SHA1 Message Date
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
Brandon Liu
be57f1f61d improvements to CI test suite 2022-07-20 16:38:36 +08:00