Changeset 15 in code for trunk/web/main.go


Ignore:
Timestamp:
Aug 30, 2023, 11:57:46 AM (22 months ago)
Author:
manerakai
Message:

Added gofiber

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/main.go

    r10 r15  
    33import (
    44        "codeberg.org/SimpleWeb/SimplyTranslate/engines"
     5        "github.com/gofiber/fiber/v2"
    56)
    67
    7 // TODO: port web frontend to Go.
     8func main() {
     9        app := fiber.New()
    810
    9 func main() {
    10         engine := &engines.GoogleTranslate{}
    11         print(engine.DisplayName())
     11        app.All("/api/translate", func(c *fiber.Ctx) error {
     12                from := ""
     13                to := ""
     14                engine := ""
     15                text := ""
     16                if c.Method() == "GET" {
     17                        engine = c.Query("engine")
     18                        text = c.Query("text")
     19                        from = c.Query("from")
     20                        to = c.Query("to")
     21                } else if c.Method() == "POST" {
     22                        engine = c.FormValue("engine")
     23                        text = c.FormValue("text")
     24                        from = c.FormValue("from")
     25                        to = c.FormValue("to")
     26                } else {
     27                        return c.SendStatus(400)
     28                }
     29                if engine == "" {
     30                        engine = "google"
     31                }
     32                if to == "" {
     33                        return c.SendStatus(400)
     34                }
     35                if result, err := engines.Engines[engine].Translate(text, from, to); err != nil {
     36                        return c.SendStatus(500)
     37                } else {
     38                        return c.JSON(result)
     39                }
     40        })
     41
     42        app.Listen(":3000")
    1243}
Note: See TracChangeset for help on using the changeset viewer.