v0.0.0-...-6202178 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2023 License: AGPL-3.0 Imports: 19 Imported by: 0



Package ws implements a k6/ws for k6. It provides basic functionality to communicate over websockets that *blocks* the event loop while the connection is opened.



This section is empty.


View Source
var ErrWSInInitContext = common.NewInitContextError("using websockets in the init context is not supported")

ErrWSInInitContext is returned when websockets are using in the init context


This section is empty.


type HTTPResponse

type HTTPResponse struct {
	URL     string            `json:"url"`
	Status  int               `json:"status"`
	Headers map[string]string `json:"headers"`
	Body    string            `json:"body"`
	Error   string            `json:"error"`

HTTPResponse is the http response returned by ws.connect.

type RootModule

type RootModule struct{}

RootModule is the global module instance that will create module instances for each VU.

func New

func New() *RootModule

New returns a pointer to a new RootModule instance.

func (*RootModule) NewModuleInstance

func (*RootModule) NewModuleInstance(m modules.VU) modules.Instance

NewModuleInstance implements the modules.Module interface to return a new instance for each VU.

type Socket

type Socket struct {
	// contains filtered or unexported fields

Socket is the representation of the websocket returned to the js.

func (*Socket) Close

func (s *Socket) Close(args ...goja.Value)

Close closes the webscocket. If providede the first argument will be used as the code for the close message.

func (*Socket) On

func (s *Socket) On(event string, handler goja.Value)

On is used to configure what the websocket should do on each event.

func (*Socket) Ping

func (s *Socket) Ping()

Ping sends a ping message over the websocket.

func (*Socket) Send

func (s *Socket) Send(message string)

Send writes the given string message to the connection.

func (*Socket) SendBinary

func (s *Socket) SendBinary(message goja.Value)

SendBinary writes the given ArrayBuffer message to the connection.

func (*Socket) SetInterval

func (s *Socket) SetInterval(fn goja.Callable, intervalMs float64) error

SetInterval executes the provided function inside the socket's event loop each interval time, which is in ms

func (*Socket) SetTimeout

func (s *Socket) SetTimeout(fn goja.Callable, timeoutMs float64) error

SetTimeout executes the provided function inside the socket's event loop after at least the provided timeout, which is in ms, has elapsed

type WS

type WS struct {
	// contains filtered or unexported fields

WS represents a module instance of the WebSocket module.

func (*WS) Connect

func (mi *WS) Connect(url string, args ...goja.Value) (*HTTPResponse, error)

Connect establishes a WebSocket connection based on the parameters provided.

func (*WS) Exports

func (mi *WS) Exports() modules.Exports

Exports returns the exports of the ws module.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL