2022-01-11 06:20:32 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2022-07-22 19:28:14 +00:00
|
|
|
app "databag/internal"
|
|
|
|
"databag/internal/store"
|
|
|
|
"github.com/gorilla/handlers"
|
2022-01-11 06:20:32 +00:00
|
|
|
"log"
|
|
|
|
"net/http"
|
2022-11-16 18:10:50 +00:00
|
|
|
"os"
|
2022-01-11 06:20:32 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
2024-01-13 18:21:56 +00:00
|
|
|
var cert string
|
|
|
|
var key string
|
2024-01-14 01:14:59 +00:00
|
|
|
var transformPath string
|
2024-01-13 18:21:56 +00:00
|
|
|
|
|
|
|
port := ":443"
|
|
|
|
storePath := "/var/lib/databag"
|
|
|
|
webApp := "/opt/databag/"
|
|
|
|
|
|
|
|
args := os.Args[1:];
|
|
|
|
for i := 0; i + 1 < len(args); i += 2 {
|
|
|
|
if args[i] == "-s" {
|
|
|
|
storePath = args[i + 1]
|
|
|
|
} else if args[i] == "-w" {
|
|
|
|
webApp = args[i + 1]
|
|
|
|
} else if args[i] == "-p" {
|
|
|
|
port = ":" + args[i + 1]
|
|
|
|
} else if args[i] == "-c" {
|
|
|
|
cert = args[i + 1]
|
|
|
|
} else if args[i] == "-k" {
|
|
|
|
key = args[i + 1]
|
2024-01-14 01:14:59 +00:00
|
|
|
} else if args[i] == "-t" {
|
|
|
|
transformPath = args[i + 1]
|
2024-01-13 18:21:56 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 01:14:59 +00:00
|
|
|
store.SetPath(storePath, transformPath);
|
2024-01-13 18:21:56 +00:00
|
|
|
router := app.NewRouter(webApp)
|
|
|
|
origins := handlers.AllowedOrigins([]string{"*"})
|
|
|
|
methods := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS"})
|
|
|
|
|
|
|
|
if cert != "" && key != "" {
|
2024-01-14 01:14:59 +00:00
|
|
|
log.Printf("using args:" + " -s " + storePath + " -w " + webApp + " -p " + port[1:] + " -c " + cert + " -k " + key + " -t " + transformPath)
|
2024-01-13 18:21:56 +00:00
|
|
|
log.Fatal(http.ListenAndServeTLS(port, cert, key, handlers.CORS(origins, methods)(router)))
|
2022-11-16 18:10:50 +00:00
|
|
|
} else {
|
2024-01-14 01:14:59 +00:00
|
|
|
log.Printf("using args:" + " -s " + storePath + " -w " + webApp + " -p " + port[1:] + " -t " + transformPath)
|
2024-01-13 18:21:56 +00:00
|
|
|
log.Fatal(http.ListenAndServe(port, handlers.CORS(origins, methods)(router)))
|
2022-11-16 18:10:50 +00:00
|
|
|
}
|
2022-01-11 06:20:32 +00:00
|
|
|
}
|