2022-09-06 15:23:27 -04:00
|
|
|
package request
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2024-08-21 23:05:05 -04:00
|
|
|
"io"
|
2022-09-06 15:23:27 -04:00
|
|
|
|
|
|
|
"github.com/v2fly/v2ray-core/v5/common"
|
|
|
|
)
|
|
|
|
|
|
|
|
type RoundTripperClient interface {
|
|
|
|
Tripper
|
|
|
|
TransportClientAssemblyReceiver
|
|
|
|
}
|
|
|
|
|
|
|
|
type RoundTripperServer interface {
|
|
|
|
common.Runnable
|
|
|
|
TransportServerAssemblyReceiver
|
|
|
|
}
|
|
|
|
|
|
|
|
type Tripper interface {
|
|
|
|
RoundTrip(ctx context.Context, req Request, opts ...RoundTripperOption) (resp Response, err error)
|
|
|
|
}
|
|
|
|
|
|
|
|
type TripperReceiver interface {
|
|
|
|
OnRoundTrip(ctx context.Context, req Request, opts ...RoundTripperOption) (resp Response, err error)
|
|
|
|
}
|
|
|
|
|
|
|
|
type RoundTripperOption interface {
|
|
|
|
RoundTripperOption()
|
|
|
|
}
|
|
|
|
|
|
|
|
type Request struct {
|
|
|
|
Data []byte
|
|
|
|
ConnectionTag []byte
|
|
|
|
}
|
|
|
|
|
|
|
|
type Response struct {
|
|
|
|
Data []byte
|
|
|
|
}
|
2024-08-21 23:05:05 -04:00
|
|
|
|
|
|
|
type OptionSupportsStreamingResponse interface {
|
|
|
|
RoundTripperOption
|
|
|
|
GetResponseWriter() io.Writer
|
|
|
|
}
|
|
|
|
|
|
|
|
type OptionSupportsStreamingResponseExtensionFlusher interface {
|
|
|
|
Flush()
|
|
|
|
}
|