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,
|
||
|
})
|
||
|
}
|