about summary refs log tree commit diff
path: root/bskylink
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2025-03-20 14:50:15 -0700
committerGitHub <noreply@github.com>2025-03-20 14:50:15 -0700
commit0e658dbdfdd4e6ece53ee04caf93d596034be587 (patch)
tree12b5230f758c4cbf4313cfbef90721308ad109c3 /bskylink
parentd3c44ebc5b9becc78b58a4f12f9bbf7173da9e32 (diff)
downloadvoidsky-0e658dbdfdd4e6ece53ee04caf93d596034be587.tar.zst
blink: redirect on root route (#8029)
* make root route redirect to 301

* use config

* end

* add a comment
Diffstat (limited to 'bskylink')
-rw-r--r--bskylink/src/routes/index.ts2
-rw-r--r--bskylink/src/routes/root.ts14
2 files changed, 16 insertions, 0 deletions
diff --git a/bskylink/src/routes/index.ts b/bskylink/src/routes/index.ts
index cfdaf3eaa..9fd20d276 100644
--- a/bskylink/src/routes/index.ts
+++ b/bskylink/src/routes/index.ts
@@ -4,6 +4,7 @@ import {AppContext} from '../context.js'
 import {default as createShortLink} from './createShortLink.js'
 import {default as health} from './health.js'
 import {default as redirect} from './redirect.js'
+import {default as root} from './root.js'
 import {default as shortLink} from './shortLink.js'
 import {default as siteAssociation} from './siteAssociation.js'
 
@@ -14,6 +15,7 @@ export default function (ctx: AppContext, app: Express) {
   app = siteAssociation(ctx, app) // GET /.well-known/apple-app-site-association
   app = redirect(ctx, app) // GET /redirect
   app = createShortLink(ctx, app) // POST /link
+  app = root(ctx, app) // GET / (redirect to bsky.app on root)
   app = shortLink(ctx, app) // GET /:linkId (should go last due to permissive matching)
   return app
 }
diff --git a/bskylink/src/routes/root.ts b/bskylink/src/routes/root.ts
new file mode 100644
index 000000000..12bdf1515
--- /dev/null
+++ b/bskylink/src/routes/root.ts
@@ -0,0 +1,14 @@
+import {Express} from 'express'
+
+import {AppContext} from '../context.js'
+import {handler} from './util.js'
+
+export default function (ctx: AppContext, app: Express) {
+  return app.get(
+    '/',
+    handler(async (_req, res) => {
+      res.setHeader('Location', `https://${ctx.cfg.service.appHostname}`)
+      return res.status(301).end()
+    }),
+  )
+}