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