func NewServer()

in internal/service/server.go [47:79]


func NewServer(serverConfig conf.ServerConfig, cacheStore cache.Cache,
	kmsClient *kms.KeyManagementService, lw logger.Wrapper) (*Server, error) {
	addr, err := net.ResolveTCPAddr("tcp", fmt.Sprintf("127.0.0.1:%d", *serverConfig.HttpPort))
	if err != nil {
		return nil, err
	}
	listener, err := net.ListenTCP("tcp", addr)
	if err != nil {
		return nil, err
	}

	var token string
	if !*serverConfig.DisableSSRFToken {
		token, err = getToken(*serverConfig.SSRFEnvVariables)
		if err != nil {
			return nil, err
		}
	}

	return &Server{
		listener:              listener,
		cacheStore:            cacheStore,
		kmsClient:             kmsClient,
		loggerWrapper:         lw,
		ssrfToken:             token,
		ssrfHeaders:           *serverConfig.SSRFHeaders,
		pathPrefix:            *serverConfig.PathPrefix,
		maxConn:               *serverConfig.MaxConn,
		responseType:          model.ResponseType(*serverConfig.ResponseType),
		IgnoreTransientErrors: *serverConfig.IgnoreTransientErrors,
		DisableSSRFToken:      *serverConfig.DisableSSRFToken,
	}, nil
}