server for tests
This commit is contained in:
58
cmd/server/main.go
Normal file
58
cmd/server/main.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"git.ecogood.org/andreas.schroepfer/excelConverter/pkg/loader"
|
||||
)
|
||||
|
||||
//go:embed files/upload.htm
|
||||
var homepage []byte
|
||||
|
||||
func main() {
|
||||
run()
|
||||
}
|
||||
|
||||
func run() {
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc("/convert/", handleConvert)
|
||||
mux.HandleFunc("/test/", handleRoot)
|
||||
mux.HandleFunc("/", handleRoot)
|
||||
s := &http.Server{
|
||||
Addr: ":2727",
|
||||
Handler: mux,
|
||||
ReadTimeout: 10 * time.Second,
|
||||
WriteTimeout: 10 * time.Second,
|
||||
MaxHeaderBytes: 1 << 20,
|
||||
}
|
||||
fmt.Println("starting server at:")
|
||||
fmt.Println("http://localhost:2727/")
|
||||
log.Fatal(s.ListenAndServe())
|
||||
}
|
||||
|
||||
func handleRoot(w http.ResponseWriter, r *http.Request) {
|
||||
buf := bytes.NewBuffer(homepage)
|
||||
io.Copy(w, buf)
|
||||
}
|
||||
|
||||
func handleConvert(w http.ResponseWriter, r *http.Request) {
|
||||
r.ParseMultipartForm(10 << 20)
|
||||
file, _, err := r.FormFile("myFile")
|
||||
if err != nil {
|
||||
fmt.Println("Error Retrieving the File")
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
eBalance, err := loader.XLSX(file, nil)
|
||||
if err != nil {
|
||||
fmt.Fprintf(w, "convert errors<br>: %s", err)
|
||||
}
|
||||
eBalance.EncodeJSON(w)
|
||||
}
|
||||
Reference in New Issue
Block a user