2020-05-03 08:15:24 +00:00
|
|
|
package rpc
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"github.com/baez90/inetmock/internal/endpoints"
|
|
|
|
)
|
|
|
|
|
|
|
|
type endpointsServer struct {
|
|
|
|
endpointsManager endpoints.EndpointManager
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e endpointsServer) GetEndpoints(_ context.Context, _ *GetEndpointsRequest) (*GetEndpointsResponse, error) {
|
2020-05-10 10:26:59 +00:00
|
|
|
eps := rpcEndpointsFromEndpoints(e.endpointsManager.StartedEndpoints())
|
2020-05-03 08:15:24 +00:00
|
|
|
return &GetEndpointsResponse{
|
2020-05-10 10:26:59 +00:00
|
|
|
Endpoints: *eps,
|
2020-05-03 08:15:24 +00:00
|
|
|
}, nil
|
|
|
|
}
|
2020-05-10 10:26:59 +00:00
|
|
|
|
|
|
|
func rpcEndpointsFromEndpoints(eps []endpoints.Endpoint) *[]*Endpoint {
|
|
|
|
out := make([]*Endpoint, 0)
|
|
|
|
for _, ep := range eps {
|
|
|
|
out = append(out, rpcEndpointFromEndpoint(ep))
|
|
|
|
}
|
|
|
|
return &out
|
|
|
|
}
|
|
|
|
|
|
|
|
func rpcEndpointFromEndpoint(ep endpoints.Endpoint) *Endpoint {
|
|
|
|
return &Endpoint{
|
|
|
|
Id: ep.Id().String(),
|
|
|
|
Name: ep.Name(),
|
|
|
|
Handler: ep.Handler(),
|
|
|
|
ListenAddress: ep.Listen(),
|
|
|
|
Port: int32(ep.Port()),
|
|
|
|
}
|
|
|
|
}
|