added golang http url routing

This commit is contained in:
2024-04-14 16:06:32 +02:00
parent fd4d1b1ed7
commit a0269f37f8
9 changed files with 64 additions and 25 deletions

View File

@@ -1,23 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0; url=https://discord.com/oauth2/authorize?client_id=1216816348433219644" />
<title>acecore</title>
</head>
<style>
a {
color: #212121;
}
body {
background-color: black;
}
</style>
<body>
<p><a href="https://discord.com/oauth2/authorize?client_id=1216816348433219644">Redirect</a></p>
</body>
</html>

53
web/web.go Normal file
View File

@@ -0,0 +1,53 @@
package web
import (
"embed"
"log"
"net/http"
"text/template"
"github.com/sirupsen/logrus"
"github.com/vaporvee/acecore/custom"
)
// Embed the HTML file into the binary
//
//go:embed html/privacy.html
var privacyHTML embed.FS
//go:embed html/tos.html
var tosHTML embed.FS
func handleHTML(w http.ResponseWriter, embed embed.FS, path string) {
tmpl, err := template.ParseFS(embed, path)
if err != nil {
logrus.Error(err)
return
}
tmpl.Execute(w, nil)
}
func HostRoutes(botID string) {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, custom.Gh_url, http.StatusMovedPermanently)
})
http.HandleFunc("/invite", func(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "https://discord.com/oauth2/authorize?client_id="+botID, http.StatusMovedPermanently)
})
http.HandleFunc("/privacy", func(w http.ResponseWriter, r *http.Request) {
handleHTML(w, privacyHTML, "./html/privacy.html")
})
http.HandleFunc("/tos", func(w http.ResponseWriter, r *http.Request) {
handleHTML(w, tosHTML, "./html/tos.html")
})
server := &http.Server{
Addr: ":443",
Handler: nil,
ErrorLog: log.New(nil, "", 0),
}
logrus.Info("Starting server for html routes on :443...")
if err := server.ListenAndServeTLS("./web/cert.pem", "./web/key.pem"); err != nil {
logrus.Errorf("Error starting server: %v\n", err)
}
}