feat: add openapi design doc

This commit is contained in:
cătălin 2022-06-28 10:11:35 +02:00
commit bffe41a012
No known key found for this signature in database
GPG key ID: C378F1E869F05A95
4 changed files with 25 additions and 19 deletions

23
main.go
View file

@ -4,15 +4,12 @@ import (
"fmt"
"io"
"io/ioutil"
"log"
"net/http"
"os"
)
var Info = log.New(os.Stdout, "\u001b[34mINFO: \u001B[0m", log.LstdFlags|log.Lshortfile)
var Warning = log.New(os.Stdout, "\u001b[33mWARNING: \u001B[0m", log.LstdFlags|log.Lshortfile)
var Error = log.New(os.Stdout, "\u001b[31mERROR: \u001b[0m", log.LstdFlags|log.Lshortfile)
var Debug = log.New(os.Stdout, "\u001b[36mDEBUG: \u001B[0m", log.LstdFlags|log.Lshortfile)
var SFU_FILES_DIR string = get_envvar_or_fatal("SFU_FILES_DIR")
var SFU_PORT string = get_envvar_or_fatal("SFU_PORT")
func upload_file(w http.ResponseWriter, req *http.Request) {
file, fileHeader, err := req.FormFile("file")
@ -21,19 +18,19 @@ func upload_file(w http.ResponseWriter, req *http.Request) {
}
defer file.Close()
f, err := os.OpenFile(fmt.Sprintf("%v/%v", get_envvar_or_fatal("SFU_FILES_DIR"), fileHeader.Filename), os.O_WRONLY|os.O_CREATE, 0666)
f, err := os.OpenFile(fmt.Sprintf("%v/%v", SFU_FILES_DIR, fileHeader.Filename), os.O_WRONLY|os.O_CREATE, 0666)
defer f.Close()
io.Copy(f, file)
w.WriteHeader(http.StatusCreated)
}
func list_uploaded_files(w http.ResponseWriter, req *http.Request) {
files_dir := get_envvar_or_fatal("SFU_FILES_DIR")
Info.Println(fmt.Sprintf("server: will list uploaded files on %v", files_dir))
files, err := ioutil.ReadDir(files_dir)
Info.Println(fmt.Sprintf("server: will list uploaded files on %v", SFU_FILES_DIR))
files, err := ioutil.ReadDir(SFU_FILES_DIR)
if err != nil {
Warning.Println(fmt.Sprintf("%v does not exist", files_dir))
Info.Println(fmt.Sprintf("will create %v", files_dir))
_ = os.Mkdir(files_dir, os.ModePerm)
Warning.Println(fmt.Sprintf("%v does not exist", SFU_FILES_DIR))
Info.Println(fmt.Sprintf("will create %v", SFU_FILES_DIR))
_ = os.Mkdir(SFU_FILES_DIR, os.ModePerm)
}
for _, f := range files {
fmt.Fprintf(w, "%v\n", f.Name())
@ -71,7 +68,7 @@ func main() {
Error.Println(fmt.Sprintf("will return %v", http.StatusMethodNotAllowed))
}
})
port := fmt.Sprintf(":%v", get_envvar_or_fatal("SFU_PORT"))
port := fmt.Sprintf(":%v", SFU_PORT)
Info.Println(fmt.Sprintf("running SFU on port %v", port))
err := http.ListenAndServe(port, nil)
if err != nil {