aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/main.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/server/main.go b/server/main.go
index a48611f..1ce935c 100644
--- a/server/main.go
+++ b/server/main.go
@@ -45,6 +45,7 @@ func RegisterHandlers(e *echo.Echo) {
e.Use(middleware.CORS())
e.POST("/bin", postBin)
e.GET("/bin/:id", getBin)
+ e.GET("/r/:id", redirectToURL)
}
func main() {
@@ -96,6 +97,18 @@ func getBin(echoContext echo.Context) error {
return echoContext.JSON(http.StatusOK, bin)
}
+func redirectToURL(echoContext echo.Context) error {
+ id := echoContext.Param("id")
+ bin, err := getBinById(id)
+ if err != nil {
+ echoContext.Logger().Error(err)
+ return err
+ }
+
+ url := bin.Content
+ return echoContext.Redirect(http.StatusFound, url)
+}
+
func createTable() error {
_, err := db.Exec("CREATE TABLE IF NOT EXISTS bins (id TEXT PRIMARY KEY, content TEXT, language TEXT)")
return err