evcc-io/server/network/service.go

34 lines
676 B
Go

package network
import (
"encoding/json"
"net/http"
"github.com/evcc-io/evcc/api/globalconfig"
"github.com/evcc-io/evcc/server/service"
)
var config globalconfig.Network
const CallbackPath = "/providerauth/callback"
func init() {
// auth service is registered here to avoid import cycle
mux := http.NewServeMux()
mux.HandleFunc("GET /redirecturi", getRedirectUri)
service.Register("auth", mux)
}
func Start(conf globalconfig.Network) {
config = conf
}
func Config() globalconfig.Network {
return config
}
func getRedirectUri(w http.ResponseWriter, req *http.Request) {
uri := config.ExternalURL() + CallbackPath
json.NewEncoder(w).Encode([]string{uri})
}