Files
cunicu/pkg/signaling/grpc/config.go
2022-02-03 16:50:45 +01:00

40 lines
697 B
Go

package grpc
import (
"errors"
"strconv"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"riasc.eu/wice/pkg/signaling"
)
type BackendConfig struct {
signaling.BackendConfig
Target string
Options []grpc.DialOption
}
func (c *BackendConfig) Parse(cfg *signaling.BackendConfig) error {
c.BackendConfig = *cfg
options := c.URI.Query()
if str := options.Get("insecure"); str != "" {
if b, err := strconv.ParseBool(str); err == nil && b {
c.Options = append(c.Options, grpc.WithTransportCredentials(
insecure.NewCredentials(),
))
}
}
if c.URI.Host == "" {
return errors.New("missing gRPC server url")
}
c.Target = c.URI.Host
return nil
}