chore: remove old unused code
This commit is contained in:
@@ -1,4 +0,0 @@
|
|||||||
package internals
|
|
||||||
|
|
||||||
const APP_VERSION = "1"
|
|
||||||
const APP_NAME = "project-extrovert"
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
package internals
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"net/http"
|
|
||||||
"slices"
|
|
||||||
)
|
|
||||||
|
|
||||||
func RemoveDuplicates[T comparable](slice []T) []T {
|
|
||||||
keys := make(map[T]bool)
|
|
||||||
list := []T{}
|
|
||||||
for _, entry := range slice {
|
|
||||||
if _, value := keys[entry]; !value {
|
|
||||||
keys[entry] = true
|
|
||||||
list = append(list, entry)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return list
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetCookie(name string, w http.ResponseWriter, r *http.Request) *http.Cookie {
|
|
||||||
name = fmt.Sprintf("__Host-%s-%s-%s", APP_NAME, APP_VERSION, name)
|
|
||||||
|
|
||||||
c := r.Cookies()
|
|
||||||
i := slices.IndexFunc(c, func(c *http.Cookie) bool {
|
|
||||||
return c.Name == name
|
|
||||||
})
|
|
||||||
var cookie *http.Cookie
|
|
||||||
if i == -1 {
|
|
||||||
cookie = &http.Cookie{
|
|
||||||
Name: name,
|
|
||||||
SameSite: http.SameSiteStrictMode,
|
|
||||||
Path: "/",
|
|
||||||
Secure: true,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
cookie = c[i]
|
|
||||||
}
|
|
||||||
return cookie
|
|
||||||
}
|
|
||||||
|
|
||||||
func HttpErrorHelper(w http.ResponseWriter) func(msg string, err error, status int) bool {
|
|
||||||
return func(msg string, err error, status int) bool {
|
|
||||||
if err != nil {
|
|
||||||
w.WriteHeader(status)
|
|
||||||
_, err = w.Write([]byte(msg + "\n Error: " + err.Error()))
|
|
||||||
if err != nil {
|
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
|
||||||
_, _ = w.Write([]byte("Error trying to return error code (somehow):\n" + err.Error()))
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
package internals
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Middleware struct {
|
|
||||||
handler http.Handler
|
|
||||||
dev bool
|
|
||||||
noCache bool
|
|
||||||
logger *log.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Middleware) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
||||||
m.logger.Printf("Handling request. path=%s", r.URL.Path)
|
|
||||||
|
|
||||||
if m.dev {
|
|
||||||
r.URL.Scheme = "http"
|
|
||||||
} else {
|
|
||||||
r.URL.Scheme = "https"
|
|
||||||
}
|
|
||||||
|
|
||||||
m.handler.ServeHTTP(w, r)
|
|
||||||
|
|
||||||
if m.noCache {
|
|
||||||
w.Header().Del("Cache-Control")
|
|
||||||
w.Header().Add("Cache-Control", "max-age=0")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewMiddleware(handler http.Handler, dev bool, noCache bool, logger *log.Logger) *Middleware {
|
|
||||||
return &Middleware{handler, dev, noCache, logger}
|
|
||||||
}
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
package internals
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"io"
|
|
||||||
"io/fs"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/a-h/templ"
|
|
||||||
)
|
|
||||||
|
|
||||||
const PERMISSIONS = 0755
|
|
||||||
|
|
||||||
type Page struct {
|
|
||||||
Path string
|
|
||||||
Component templ.Component
|
|
||||||
}
|
|
||||||
|
|
||||||
type StaticWriter struct {
|
|
||||||
DistDir *string
|
|
||||||
StaticDir *string
|
|
||||||
Pages []Page
|
|
||||||
Context context.Context
|
|
||||||
Logger log.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *StaticWriter) WritePage(path string, writer func(ctx context.Context, w io.Writer) error) error {
|
|
||||||
directory := filepath.Dir(path)
|
|
||||||
err := os.MkdirAll(directory, PERMISSIONS)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := os.Create(path)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
err = writer(w.Context, f)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *StaticWriter) WriteAll() error {
|
|
||||||
for _, page := range w.Pages {
|
|
||||||
p := filepath.Join(*w.DistDir, page.Path)
|
|
||||||
w.Logger.Printf("Writing page %s", p)
|
|
||||||
err := w.WritePage(p, page.Component.Render)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
err := filepath.WalkDir(*w.StaticDir, func(path string, d fs.DirEntry, err error) error {
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
} else if d.IsDir() || path == *w.StaticDir {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := filepath.Abs(path)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
s, err := filepath.Abs(*w.StaticDir)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = w.CopyStatic(strings.TrimPrefix(f, s))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *StaticWriter) CopyStatic(path string) error {
|
|
||||||
c, err := os.ReadFile(filepath.Join(*w.StaticDir, path))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
p := filepath.Join(*w.DistDir, path)
|
|
||||||
err = os.MkdirAll(filepath.Dir(p), PERMISSIONS)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := os.Create(p)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
b, err := f.Write(c)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
w.Logger.Printf("Wrote %v bytes in %s", b, p)
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user