03844a9a36
Allow plugins to opt out of automatic redirect following on a per-request basis. When set to true, the response returns the redirect status code and Location header directly instead of following to the final destination.
59 lines
2.1 KiB
Go
59 lines
2.1 KiB
Go
// Code generated by ndpgen. DO NOT EDIT.
|
|
//
|
|
// This file contains mock implementations for non-WASM builds.
|
|
// These mocks allow IDE support, compilation, and unit testing on non-WASM platforms.
|
|
// Plugin authors can use the exported mock instances to set expectations in tests.
|
|
//
|
|
//go:build !wasip1
|
|
|
|
package host
|
|
|
|
import "github.com/stretchr/testify/mock"
|
|
|
|
// HTTPRequest represents the HTTPRequest data structure.
|
|
// HTTPRequest represents an outbound HTTP request from a plugin.
|
|
type HTTPRequest struct {
|
|
Method string `json:"method"`
|
|
URL string `json:"url"`
|
|
Headers map[string]string `json:"headers"`
|
|
NoFollowRedirects bool `json:"noFollowRedirects"`
|
|
Body []byte `json:"body"`
|
|
TimeoutMs int32 `json:"timeoutMs"`
|
|
}
|
|
|
|
// HTTPResponse represents the HTTPResponse data structure.
|
|
// HTTPResponse represents the response from an outbound HTTP request.
|
|
type HTTPResponse struct {
|
|
StatusCode int32 `json:"statusCode"`
|
|
Headers map[string]string `json:"headers"`
|
|
Body []byte `json:"body"`
|
|
}
|
|
|
|
// mockHTTPService is the mock implementation for testing.
|
|
type mockHTTPService struct {
|
|
mock.Mock
|
|
}
|
|
|
|
// HTTPMock is the auto-instantiated mock instance for testing.
|
|
// Use this to set expectations: host.HTTPMock.On("MethodName", args...).Return(values...)
|
|
var HTTPMock = &mockHTTPService{}
|
|
|
|
// Send is the mock method for HTTPSend.
|
|
func (m *mockHTTPService) Send(request HTTPRequest) (*HTTPResponse, error) {
|
|
args := m.Called(request)
|
|
return args.Get(0).(*HTTPResponse), args.Error(1)
|
|
}
|
|
|
|
// HTTPSend delegates to the mock instance.
|
|
// Send executes an HTTP request and returns the response.
|
|
//
|
|
// Parameters:
|
|
// - request: The HTTP request to execute, including method, URL, headers, body, and timeout
|
|
//
|
|
// Returns the HTTP response with status code, headers, and body.
|
|
// Network errors, timeouts, and permission failures are returned as Go errors.
|
|
// Successful HTTP calls (including 4xx/5xx status codes) return a non-nil response with nil error.
|
|
func HTTPSend(request HTTPRequest) (*HTTPResponse, error) {
|
|
return HTTPMock.Send(request)
|
|
}
|