mirror of
https://github.com/CompeyDev/fxtwitter-docker.git
synced 2025-05-04 10:43:49 +01:00
Add passthrough for Twitter profiles
This commit is contained in:
parent
cd9086f63a
commit
bdd4f0a814
2 changed files with 14 additions and 1 deletions
|
@ -26,7 +26,6 @@ Licensed under the permissive MIT license. Feel free to send a pull request!
|
||||||
|
|
||||||
### Things to tackle in the future
|
### Things to tackle in the future
|
||||||
|
|
||||||
- Embed profiles! (and maybe more from Twitter?)
|
|
||||||
- Combining multiple images together (would be outside CF Worker)
|
- Combining multiple images together (would be outside CF Worker)
|
||||||
- Caching responses (I haven't done this yet as this is still being actively worked on!)
|
- Caching responses (I haven't done this yet as this is still being actively worked on!)
|
||||||
- Caching guest token (So we don't have to bother Twitter for one on every request)
|
- Caching guest token (So we don't have to bother Twitter for one on every request)
|
||||||
|
|
|
@ -38,12 +38,26 @@ const statusRequest = async (request: any) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO: Create richer embeds for profiles
|
||||||
|
const profileRequest = async (request: any) => {
|
||||||
|
const { handle } = request.params;
|
||||||
|
const url = new URL(request.url);
|
||||||
|
|
||||||
|
if (handle.match(/[a-z0-9_]{1,15}/gi) !== handle) {
|
||||||
|
return Response.redirect(Constants.REDIRECT_URL, 302);
|
||||||
|
} else {
|
||||||
|
return Response.redirect(`${Constants.TWITTER_ROOT}${url.pathname}`, 302);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
router.get('/:handle/status/:id', statusRequest);
|
router.get('/:handle/status/:id', statusRequest);
|
||||||
router.get('/:handle/status/:id/photo/:mediaNumber', statusRequest);
|
router.get('/:handle/status/:id/photo/:mediaNumber', statusRequest);
|
||||||
router.get('/:handle/status/:id/video/:mediaNumber', statusRequest);
|
router.get('/:handle/status/:id/video/:mediaNumber', statusRequest);
|
||||||
router.get('/:handle/statuses/:id', statusRequest);
|
router.get('/:handle/statuses/:id', statusRequest);
|
||||||
router.get('/:handle/statuses/:id/photo/:mediaNumber', statusRequest);
|
router.get('/:handle/statuses/:id/photo/:mediaNumber', statusRequest);
|
||||||
router.get('/:handle/statuses/:id/video/:mediaNumber', statusRequest);
|
router.get('/:handle/statuses/:id/video/:mediaNumber', statusRequest);
|
||||||
|
router.get('/:handle', profileRequest);
|
||||||
|
router.get('/:handle/', profileRequest);
|
||||||
|
|
||||||
router.get('/owoembed', async (request: any) => {
|
router.get('/owoembed', async (request: any) => {
|
||||||
console.log('oembed hit!');
|
console.log('oembed hit!');
|
||||||
|
|
Loading…
Add table
Reference in a new issue