serve_api.go 638 B

1234567891011121314151617181920212223242526272829303132
  1. package main
  2. import (
  3. "log"
  4. "code.osinet.fr/fgm/kurz/api"
  5. _ "code.osinet.fr/fgm/kurz/migrations"
  6. "github.com/spf13/cobra"
  7. "github.com/spf13/viper"
  8. )
  9. var cmdServeAPI = &cobra.Command{
  10. Args: cobra.NoArgs,
  11. Long: "Serve Kurz as a JSON web API.",
  12. Run: serveAPIHandler,
  13. Short: "Serve Kurz API",
  14. Use: "api",
  15. }
  16. func init() {
  17. cmdServe.AddCommand(cmdServeAPI)
  18. }
  19. // Set up infrastructure and listen on specified address.
  20. func serveAPIHandler(_ *cobra.Command, args []string) {
  21. db = ensureInfrastructure(db)
  22. defer db.Close()
  23. address := viper.Get("api.address").(string)
  24. err := api.ListenAndServe(address)
  25. log.Fatal(err)
  26. }