mirror of
https://github.com/pocketbase/pocketbase.git
synced 2024-11-24 17:07:00 +02:00
59 lines
1.3 KiB
Go
59 lines
1.3 KiB
Go
package cmd
|
|
|
|
import (
|
|
"log"
|
|
"net/http"
|
|
|
|
"github.com/pocketbase/pocketbase/apis"
|
|
"github.com/pocketbase/pocketbase/core"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// NewServeCommand creates and returns new command responsible for
|
|
// starting the default PocketBase web server.
|
|
func NewServeCommand(app core.App, showStartBanner bool) *cobra.Command {
|
|
var allowedOrigins []string
|
|
var httpAddr string
|
|
var httpsAddr string
|
|
|
|
command := &cobra.Command{
|
|
Use: "serve",
|
|
Short: "Starts the web server (default to 127.0.0.1:8090)",
|
|
Run: func(command *cobra.Command, args []string) {
|
|
err := apis.Serve(app, &apis.ServeOptions{
|
|
HttpAddr: httpAddr,
|
|
HttpsAddr: httpsAddr,
|
|
ShowStartBanner: showStartBanner,
|
|
AllowedOrigins: allowedOrigins,
|
|
})
|
|
|
|
if err != http.ErrServerClosed {
|
|
log.Fatalln(err)
|
|
}
|
|
},
|
|
}
|
|
|
|
command.PersistentFlags().StringSliceVar(
|
|
&allowedOrigins,
|
|
"origins",
|
|
[]string{"*"},
|
|
"CORS allowed domain origins list",
|
|
)
|
|
|
|
command.PersistentFlags().StringVar(
|
|
&httpAddr,
|
|
"http",
|
|
"127.0.0.1:8090",
|
|
"api HTTP server address",
|
|
)
|
|
|
|
command.PersistentFlags().StringVar(
|
|
&httpsAddr,
|
|
"https",
|
|
"",
|
|
"api HTTPS server address (auto TLS via Let's Encrypt)\nthe incoming --http address traffic also will be redirected to this address",
|
|
)
|
|
|
|
return command
|
|
}
|