summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/go.mod10
-rw-r--r--server/go.sum17
-rw-r--r--server/main.go48
-rw-r--r--server/md-page.go95
4 files changed, 0 insertions, 170 deletions
diff --git a/server/go.mod b/server/go.mod
deleted file mode 100644
index 6328a03..0000000
--- a/server/go.mod
+++ /dev/null
@@ -1,10 +0,0 @@
-module sanine.net/sanine.net-server
-
-go 1.19
-
-require (
- github.com/russross/blackfriday/v2 v2.1.0
- github.com/sirupsen/logrus v1.9.0
-)
-
-require golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect
diff --git a/server/go.sum b/server/go.sum
deleted file mode 100644
index 900e85f..0000000
--- a/server/go.sum
+++ /dev/null
@@ -1,17 +0,0 @@
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
-github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
-github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/server/main.go b/server/main.go
deleted file mode 100644
index 63aadb5..0000000
--- a/server/main.go
+++ /dev/null
@@ -1,48 +0,0 @@
-package main
-
-import (
- "fmt"
- "net/http"
- "flag"
- "path/filepath"
- log "github.com/sirupsen/logrus"
-)
-
-
-func main() {
- log.SetFormatter(&log.TextFormatter{
- FullTimestamp: true,
- });
-
- pathFlag := flag.String(
- "path", "data", "the path to load site data from",
- );
- addrFlag := flag.String(
- "addr", "127.0.0.1:8080", "the address to serve from",
- );
- flag.Parse();
- log.Infof("data path: %v", *pathFlag);
- log.Infof("serving from %v", *addrFlag);
-
- mux := http.NewServeMux()
- mux.HandleFunc("/ip", func(w http.ResponseWriter, req *http.Request) {
- fmt.Fprintf(w, "%v", req.RemoteAddr);
- });
- mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
- if req.URL.Path != "/" {
- path := filepath.Join(*pathFlag, req.URL.Path);
- Serve(w, req, path);
- } else {
- Serve(w, req, filepath.Join(*pathFlag, "index.md"));
- }
- });
-
- server := http.Server{
- Addr: *addrFlag,
- Handler: mux,
- };
- err := server.ListenAndServe();
- if err != nil {
- log.Fatal(err);
- }
-}
diff --git a/server/md-page.go b/server/md-page.go
deleted file mode 100644
index 8b378c5..0000000
--- a/server/md-page.go
+++ /dev/null
@@ -1,95 +0,0 @@
-package main
-
-import (
- "os"
- "strings"
- "net/http"
- log "github.com/sirupsen/logrus"
- md "github.com/russross/blackfriday/v2"
-)
-
-
-func ServeForbidden(w http.ResponseWriter, r *http.Request) {
- w.WriteHeader(403);
- w.Write([]byte("403 forbidden"));
-}
-
-
-func ServeNotFound(w http.ResponseWriter, r *http.Request) {
- http.NotFound(w, r);
-}
-
-
-func RenderMarkdown(path string) ([]byte, error) {
- data, err := os.ReadFile(path);
- if err != nil {
- return []byte{}, err;
- }
- return md.Run(data), nil;
-}
-
-
-func ServeMarkdown(w http.ResponseWriter, r *http.Request, path string) (int, error) {
- page, err := RenderMarkdown(path);
- if err != nil {
- return 404, err;
- }
- w.WriteHeader(200);
- w.Write(page);
- return 200, nil;
-}
-
-func ServeFile(w http.ResponseWriter, r *http.Request, path string) (int, error) {
- if strings.Contains(r.URL.Path, "..") {
- // reject requests with ".." in the URL
- return 403, nil;
- }
- data, err := os.ReadFile(path);
- if err != nil {
- return 404, err;
- }
-
- w.WriteHeader(200);
- w.Write(data);
- return 200, nil;
-}
-
-
-func IsMarkdown(path string) bool {
- return strings.HasSuffix(path, ".md");
-}
-
-
-func Serve(w http.ResponseWriter, r *http.Request, path string) {
- var status int;
- var err error;
-
- if IsMarkdown(path) {
- // render and serve markdown content
- status, err = ServeMarkdown(w, r, path);
- } else {
- // serve raw file
- status, err = ServeFile(w, r, path);
- }
-
- if status == 200 {
- log.Infof(
- "%v 200\t%v <- %v",
- r.Method, r.RemoteAddr, r.URL.Path,
- );
- } else {
- log.Errorf(
- "%v %v\t%v <- %v: %v",
- r.Method, status, r.RemoteAddr, r.URL.Path, err,
- );
- switch status {
- case 403:
- ServeForbidden(w, r);
- case 404:
- ServeNotFound(w, r);
- default:
- w.WriteHeader(status);
- w.Write([]byte("error"));
- }
- }
-}