39 lines
750 B
Go
39 lines
750 B
Go
package fetch
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
|
|
"forge.cadoles.com/arcad/edge/pkg/bus"
|
|
)
|
|
|
|
const (
|
|
AddressFetchRequest bus.Address = "module/fetch/request"
|
|
AddressFetchResponse bus.Address = "module/fetch/response"
|
|
)
|
|
|
|
type FetchRequest struct {
|
|
Context context.Context
|
|
RequestID string
|
|
URL *url.URL
|
|
RemoteAddr string
|
|
}
|
|
|
|
func NewFetchRequestEnvelope(ctx context.Context, remoteAddr string, url *url.URL) bus.Envelope {
|
|
return bus.NewEnvelope(AddressFetchRequest, &FetchRequest{
|
|
Context: ctx,
|
|
URL: url,
|
|
RemoteAddr: remoteAddr,
|
|
})
|
|
}
|
|
|
|
type FetchResponse struct {
|
|
Allow bool
|
|
}
|
|
|
|
func NewFetchResponseEnvelope(allow bool) bus.Envelope {
|
|
return bus.NewEnvelope(AddressFetchResponse, &FetchResponse{
|
|
Allow: allow,
|
|
})
|
|
}
|