A Cloudflare Worker acting as a proxy for the LastFM API in order to expose endpoints.
The dev and prod versions I built this for are deployed to the following, targeting my last.fm user account, BrianMitchL.
Environment | URL |
---|---|
Dev | https://lastfm-proxy-dev.brianm.me |
Prod | https://lastfm-proxy.brianm.me |
There are two routes, /tracks
and /artists
, each can be supplied with the optional period
search parameter with one of the following options: overall | 7day | 1month | 3month | 6month | 12month
. If none is specified, we default to overall
.
Example: https://lastfm-proxy-dev.brianm.me/tracks?period=7day
This worker is meant to be used with Wrangler. Documentation can be found here.
src/index.js
calls the request handler in src/handler.ts
, and will return the request method for the given request.
There are two environment variables used to configure the worker.
Variable | Use |
---|---|
LASTFM_USERNAME |
The LastFM username to source the data from. |
LASTFM_API_KEY |
The LastFM API key used to authorize the request. This is configured as a secret variable in Cloudflare/Wrangler. |
npm run test
will run the tests.
Run npm run start
to run a test version of the worker.
Run wrangler publish --env=dev
or wrangler publish
to publish the dev or prod versions.
The GitHub Actions should do this automatically when merging into the dev
or main
branches.