dcfe9a6504
Implement `ControlServiceServer` on `Server` type. The `Server` requires all requests to be signed with keys from the so-called whitelist. To obtain health status, it uses the abstraction in the form of `HealthChecker` interface. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
24 lines
448 B
Go
24 lines
448 B
Go
package control
|
|
|
|
import (
|
|
"crypto/ecdsa"
|
|
)
|
|
|
|
// Prm groups required parameters of
|
|
// Server's constructor.
|
|
type Prm struct {
|
|
key *ecdsa.PrivateKey
|
|
|
|
healthChecker HealthChecker
|
|
}
|
|
|
|
// SetPrivateKey sets private key to sign responses.
|
|
func (x *Prm) SetPrivateKey(key *ecdsa.PrivateKey) {
|
|
x.key = key
|
|
}
|
|
|
|
// SetHealthChecker sets HealthChecker to calculate
|
|
// health status.
|
|
func (x *Prm) SetHealthChecker(hc HealthChecker) {
|
|
x.healthChecker = hc
|
|
}
|