octoprintApis

package
Version: v2.7.4+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2021 License: AGPL-3.0, MIT Imports: 13 Imported by: 4

README

go-octoprint Build Status GoDoc

Go library for accessing the OctoPrint's REST API.

Installation

The recommended way to install go-octoprint

go get github.com/mcuadros/go-octoprint

Example

Retrieving the current connection state:
client, _ := NewClient("<octoprint-url>", "<api-key>")

r := octoprint.ConnectionRequest{}
s, err := r.Do(client)
if err != nil {
  log.Error("error requesting connection state: %s", err)
}

fmt.Printf("Connection State: %q\n", s.Current.State)
Retrieving current temperature for bed and extruders:
r := octoprint.StateRequest{}
s, err := r.Do(c)
if err != nil {
	log.Error("error requesting state: %s", err)
}

fmt.Println("Current Temperatures:")
for tool, state := range s.Temperature.Current {
	fmt.Printf("- %s: %.1f°C / %.1f°C\n", tool, state.Actual, state.Target)
}

Implemented Methods

Version Information
  • GET /api/version
Apps
  • GET /apps/auth
  • POST /apps/auth
Connection Operations
  • GET /api/connection
  • POST /api/connection
File Operations
  • GET `/api/files
  • GET /api/files/<location>
  • POST /api/files/<location>
  • GET /api/files/<location>/<filename>
  • POST /api/files/<location>/<path> (Only select command)
  • DELETE /api/files/<location>/<path>
Job Operations
  • POST /api/job
  • GET /api/job
Languages
  • GET /api/languages
  • POST /api/languages
  • DELETE /api/languages/<locale>/<pack>
Log file management
  • GET /api/logs
  • DELETE /api/logs/<filename>
Printer Operations
  • GET /api/printer
  • POST /api/printer/printhead
  • POST /api/printer/tool
  • GET /api/printer/tool
  • POST /api/printer/bed
  • GET /api/printer/bed
  • POST /api/printer/sd
  • GET /api/printer/sd
  • POST /api/printer/command
  • GET /api/printer/command/custom (un-documented at REST API)
Printer profile operations
  • GET /api/printerprofiles
  • POST /api/printerprofiles
  • PATCH /api/printerprofiles/<profile>
  • DELETE /api/printerprofiles/<profile>
Settings
  • GET /api/settings
  • POST /api/settings
  • POST /api/settings/apikey
Slicing
  • GET /api/slicing
  • GET /api/slicing/<slicer>/profiles
  • GET /api/slicing/<slicer>/profiles/<key>
  • PUT /api/slicing/<slicer>/profiles/<key>
  • DELETE /api/slicing/<slicer>/profiles/<key>
System
  • GET /api/system/commands
  • GET /api/system/commands/<source>
  • POST /api/system/commands/<source>/<action>
Timelapse
  • GET /api/timelapse
  • DELETE /api/timelapse/<filename>
  • POST /api/timelapse/unrendered/<name>
  • DELETE /api/timelapse/unrendered/<name>
  • POST /api/timelapse
User
  • GET /api/users
  • GET /api/users/<username>
  • POST /api/users
  • PUT /api/users/<username>
  • DELETE /api/users/<username>
  • PUT /api/users/<username>/password
  • GET /api/users/<username>/settings
  • PATCH /api/users/<username>/settings
  • POST /api/users/<username>/apikey
  • DELETE /api/users/<username>/apikey
Util
  • POST /api/util/test
Wizard
  • GET /setup/wizard
  • POST /setup/wizard

License

MIT, see LICENSE

Documentation

Overview

package apis

Index

Constants

View Source
const ConnectionApiUri = "/api/connection"
View Source
const FilesApiUri = "/api/files"
View Source
const JobApiUri = "/api/job"

https://docs.octoprint.org/en/master/api/job.html

View Source
const PluginZBoltApiUri = "/api/plugin/zbolt"
View Source
const PluginZBoltOctoScreenApiUri = "/api/plugin/zbolt_octoscreen"
View Source
const PrinterBedApiUri = "/api/printer/bed"
View Source
const PrinterCommandApiUri = "/api/printer/command"
View Source
const PrinterCommandCustomApiUri = "/api/printer/command/custom"
View Source
const PrinterPrintHeadApiUri = "/api/printer/printhead"
View Source
const PrinterSdApiUri = "/api/printer/sd"
View Source
const PrinterToolApiUri = "/api/printer/tool"
View Source
const SettingsApiUri = "/api/settings"
View Source
const SystemCommandsApiUri = "/api/system/commands"
View Source
const URIPrinter = "/api/printer"
View Source
const VersionApiUri = "/api/version"

Variables

View Source
var (
	FilesLocationGETErrors = StatusMapping{
		404: "Location is neither local nor sdcard",
	}

	FilesLocationPOSTErrors = StatusMapping{
		400: "No file or foldername are included in the request, userdata was provided but could not be parsed as JSON or the request is otherwise invalid.",
		404: "Location is neither local nor sdcard or trying to upload to SD card and SD card support is disabled",
		409: "The upload of the file would override the file that is currently being printed or if an upload to SD card was requested and the printer is either not operational or currently busy with a print job.",
		415: "The file is neither a gcode nor an stl file (or it is an stl file but slicing support is disabled)",
		500: "The upload failed internally",
	}

	FilesLocationPathPOSTErrors = StatusMapping{
		400: "The command is unknown or the request is otherwise invalid",
		415: "A slice command was issued against something other than an STL file.",
		404: "Location is neither local nor sdcard or the requested file was not found",
		409: "Selected file is supposed to start printing directly but the printer is not operational or if a file to be sliced is supposed to be selected or start printing directly but the printer is not operational or already printing.",
	}

	FilesLocationDeleteErrors = StatusMapping{
		404: "Location is neither local nor sdcard",
		409: "The file to be deleted is currently being printed",
	}
)
View Source
var (
	PrintErrors = StatusMapping{
		409: "Printer is not operational",
	}

	PrintHeadJobErrors = StatusMapping{
		400: "Invalid axis specified, invalid value for travel amount for a jog command or factor for feed rate or otherwise invalid request",
		409: "Printer is not operational or currently printing",
	}

	PrintToolErrors = StatusMapping{
		400: "Targets or offsets contains a property or tool contains a value not matching the format tool{n}, the target/offset temperature, extrusion amount or flow rate factor is not a valid number or outside of the supported range, or if the request is otherwise invalid",
		409: "Printer is not operational",
	}

	PrintBedErrors = StatusMapping{
		409: "Printer is not operational or the selected printer profile does not have a heated bed.",
	}

	PrintSdErrors = StatusMapping{
		404: "SD support has been disabled in OctoPrint’s settings.",
		409: "SD card has not been initialized.",
	}
)
View Source
var ConnectionErrors = StatusMapping{
	400: "The selected port or baudrate for a connect command are not part of the available option",
}
View Source
var ErrUnauthorized = errors.New("Missing or invalid API key")

ErrUnauthorized missing or invalid API key

View Source
var ExecuteErrors = StatusMapping{
	404: "The command could not be found for source and action",
	500: "The command didn’t define a command to execute, the command returned a non-zero return code and ignore was not true or some other internal server error occurred",
}
View Source
var JobToolErrors = StatusMapping{
	409: "Printer is not operational or the current print job state does not match the preconditions for the command.",
}
View Source
var Version = "0.1"

Functions

This section is empty.

Types

type BedOffsetRequest

type BedOffsetRequest struct {
	// Offset is offset to set.
	Offset int `json:"offset"`
}

BedOffsetRequest sets the given temperature offset on the printer’s bed.

func (*BedOffsetRequest) Do

func (cmd *BedOffsetRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type BedStateRequest

type BedStateRequest struct {
	// History if true retrieve the temperature history.
	IncludeHistory bool

	// Limit limtis amount of returned history data points.
	Limit int
}

BedStateRequest retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated bed.

It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The amount of returned history data points can be limited using the limit query parameter.

func (*BedStateRequest) Do

Do sends an API request and returns the API response.

type BedTargetRequest

type BedTargetRequest struct {
	// Target temperature to set.
	Target float64 `json:"target"`
}

BedTargetRequest sets the given target temperature on the printer’s bed.

func (*BedTargetRequest) Do

func (cmd *BedTargetRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type CancelRequest

type CancelRequest struct{}

CancelRequest cancels the current print job.

func (*CancelRequest) Do

func (cmd *CancelRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type Client

type Client struct {
	// Endpoint address to the OctoPrint REST API server.
	Endpoint string

	// APIKey used to connect to the OctoPrint REST API server.
	APIKey string
	// contains filtered or unexported fields
}

A Client manages communication with the OctoPrint API.

func NewClient

func NewClient(endpoint, apiKey string) *Client

NewClient returns a new OctoPrint API client with provided base URL and API Key. If baseURL does not have a trailing slash, one is added automatically. If `Access Control` is enabled at OctoPrint configuration an apiKey should be provided (http://docs.octoprint.org/en/master/api/general.html#authorization).

type CommandRequest

type CommandRequest struct {
	// Commands list of commands to send to the printer.
	Commands []string `json:"commands"`
}

CommandRequest sends any command to the printer via the serial interface. Should be used with some care as some commands can interfere with or even stop a running print job.

func (*CommandRequest) Do

func (cmd *CommandRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type ConnectRequest

type ConnectRequest struct {
	// Port specific port to connect to. If not set the current `portPreference`
	// will be used, or if no preference is available auto detection will be
	// attempted.
	Port string `json:"port,omitempty"`

	// BaudRate specific baudrate to connect with. If not set the current
	// `baudratePreference` will be used, or if no preference is available auto
	// detection will be attempted.
	BaudRate int `json:"baudrate,omitempty"`

	// PrinterProfile specific printer profile to use for connection. If not set
	// the current default printer profile will be used.
	PrinterProfile string `json:"printerProfile,omitempty"`

	// Save whether to save the request’s port and baudrate settings as new
	// preferences.
	Save bool `json:"save"`

	// Autoconnect whether to automatically connect to the printer on
	// OctoPrint’s startup in the future.
	Autoconnect bool `json:"autoconnect"`
}

ConnectRequest sets the given target temperature on the printer’s tools.

func (*ConnectRequest) Do

func (cmd *ConnectRequest) Do(client *Client) error

Do sends an API request and returns an error if any.

type ConnectionRequest

type ConnectionRequest struct{}

ConnectionRequest Retrieve the current connection settings, including information regarding the available baudrates and serial ports and the current connection state.

func (*ConnectionRequest) Do

Do sends an API request and returns the API response.

type CustomCommandsRequest

type CustomCommandsRequest struct{}

CustomCommandsRequest retrieves all configured system controls.

func (*CustomCommandsRequest) Do

Do sends an API request and returns the API response.

type DeleteFileRequest

type DeleteFileRequest struct {
	// Location is the target location on which to delete the file, either
	// `local` (for OctoPrint’s uploads folder) or \sdcard\ for the printer’s
	// SD card (if available)
	Location dataModels.Location

	// Path of the file to delete
	Path string
}

DeleteFileRequest delete the selected path on the selected location.

func (*DeleteFileRequest) Do

func (req *DeleteFileRequest) Do(c *Client) error

Do sends an API request and returns error if any.

type DisconnectRequest

type DisconnectRequest struct{}

DisconnectRequest instructs OctoPrint to disconnect from the printer.

func (*DisconnectRequest) Do

func (this *DisconnectRequest) Do(client *Client) error

Do sends an API request and returns an error if any.

type FakesAckRequest

type FakesAckRequest struct{}

FakesAckRequest fakes an acknowledgment message for OctoPrint in case one got lost on the serial line and the communication with the printer since stalled.

This should only be used in “emergencies” (e.g. to save prints), the reason for the lost acknowledgment should always be properly investigated and removed instead of depending on this “symptom solver”.

func (*FakesAckRequest) Do

func (this *FakesAckRequest) Do(client *Client) error

Do sends an API request and returns an error if any.

type FileRequest

type FileRequest struct {
	// Location of the file for which to retrieve the information/  Can be either
	// `local` or `sdcard`.
	Location dataModels.Location

	// Filename of the file for which to retrieve the information.
	Filename string

	// Recursive if set to true, return all files and folders recursively.
	// Otherwise only return items on same level.
	Recursive bool
}

FileRequest retrieves the selected file’s or folder’s information.

func (*FileRequest) Do

func (request *FileRequest) Do(c *Client) (*dataModels.FileResponse, error)

Do sends an API request and returns the API response

type FilesRequest

type FilesRequest struct {
	// Location is the target location .
	Location dataModels.Location

	// Recursive if set to true, return all files and folders recursively.
	// Otherwise only return items on same level.
	Recursive bool
}

FilesRequest retrieve information regarding all files currently available and regarding the disk space still available locally in the system.

func (*FilesRequest) Do

Do sends an API request and returns the API response.

type FullStateRequest

type FullStateRequest struct {
	// bytes if true retrieve the temperature history.
	IncludeHistory bool

	// Limit limits the amount of returned history data points.
	Limit int

	// Exclude list of fields to exclude from the response (e.g. if not
	// needed by the client). Valid values to supply here are `temperature`,
	// `sd` and `state`.
	Exclude []string
}

FullStateRequest retrieves the current state of the printer.

func (*FullStateRequest) Do

Do sends an API request and returns the API response.

type JobRequest

type JobRequest struct{}

JobRequest retrieve information about the current job (if there is one).

func (*JobRequest) Do

func (cmd *JobRequest) Do(client *Client) (*dataModels.JobResponse, error)

Do sends an API request and returns the API response.

type NotificationRequest

type NotificationRequest struct {
	Command string `json:"command"`
}

func (*NotificationRequest) Do

func (this *NotificationRequest) Do(client *Client, uiState string) (*dataModels.NotificationResponse, error)

type OctoScreenSettingsRequest

type OctoScreenSettingsRequest struct {
	Command string `json:"command"`
}

func (*OctoScreenSettingsRequest) Do

type PauseRequest

type PauseRequest struct {
	// Action specifies which action to take.
	// In order to stay backwards compatible to earlier iterations of this API,
	// the default action to take if no action parameter is supplied is to
	// toggle the print job status.
	Action dataModels.PauseAction `json:"action"`
}

PauseRequest pauses/resumes/toggles the current print job.

func (*PauseRequest) Do

func (cmd *PauseRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type PluginManagerInfoRequest

type PluginManagerInfoRequest struct {
	Command string `json:"command"`
}

PluginManagerInfoRequest -

func (*PluginManagerInfoRequest) Do

Do -

type PrintHeadHomeRequest

type PrintHeadHomeRequest struct {
	// Axes is a list of axes which to home.
	Axes []dataModels.Axis `json:"axes"`
}

PrintHeadHomeRequest homes the print head in all of the given axes.

func (*PrintHeadHomeRequest) Do

func (cmd *PrintHeadHomeRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type PrintHeadJogRequest

type PrintHeadJogRequest struct {
	// X is the amount distance to travel in mm or coordinate to jog print head
	// on x axis.
	X float64 `json:"x,omitempty"`

	// Y is the amount distance to travel in mm or coordinate to jog print head
	// on y axis.
	Y float64 `json:"y,omitempty"`

	// Z is the amount distance to travel in mm.or coordinate to jog print head
	// on x axis.
	Z float64 `json:"z,omitempty"`

	// Absolute is whether to move relative to current position (provided axes
	// values are relative amounts) or to absolute position (provided axes
	// values are coordinates)
	IsAbsolute bool `json:"absolute"`

	// Speed at which to move in mm/s. If not provided, minimum speed for all
	// selected axes from printer profile will be used.
	Speed int `json:"speed,omitempty"`
}

PrintHeadJogRequest jogs the print head (relatively) by a defined amount in one or more axes.

func (*PrintHeadJogRequest) Do

func (cmd *PrintHeadJogRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type PrinterProfilesRequest

type PrinterProfilesRequest struct {
	Id string
}

SettingsRequest retrieves the current configuration of OctoPrint.

func (*PrinterProfilesRequest) Do

Do sends an API request and returns the API response.

type RestartRequest

type RestartRequest struct{}

RestartRequest restart the print of the currently selected file from the beginning. There must be an active print job for this to work and the print job must currently be paused

func (*RestartRequest) Do

func (cmd *RestartRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type RunZOffsetCalibrationRequest

type RunZOffsetCalibrationRequest struct {
	Command string `json:"command"`
}

func (*RunZOffsetCalibrationRequest) Do

func (this *RunZOffsetCalibrationRequest) Do(client *Client) error

type SdInitRequest

type SdInitRequest struct{}

SdInitRequest initializes the printer’s SD card, making it available for use. This also includes an initial retrieval of the list of files currently stored on the SD card.

func (*SdInitRequest) Do

func (cmd *SdInitRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type SdRefreshRequest

type SdRefreshRequest struct{}

SdRefreshRequest Refreshes the list of files stored on the printer’s SD card.

func (*SdRefreshRequest) Do

func (cmd *SdRefreshRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type SdReleaseRequest

type SdReleaseRequest struct{}

SdReleaseRequest releases the SD card from the printer. The reverse operation to init. After issuing this command, the SD card won’t be available anymore, hence and operations targeting files stored on it will fail.

func (*SdReleaseRequest) Do

func (cmd *SdReleaseRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type SdStateRequest

type SdStateRequest struct{}

SdStateRequest retrieves the current state of the printer’s SD card. For this request no authentication is needed.

func (*SdStateRequest) Do

func (cmd *SdStateRequest) Do(c *Client) (*dataModels.SdState, error)

Do sends an API request and returns the API response.

type SelectFileRequest

type SelectFileRequest struct {
	// Location is target location on which to send the command for is located,
	// either local (for OctoPrint’s uploads folder) or sdcard for the
	// printer’s SD card (if available).
	Location dataModels.Location `json:"-"`

	// Path  of the file for which to issue the command.
	Path string `json:"-"`

	// Print, if set to true the file will start printing directly after
	// selection. If the printer is not operational when this parameter is
	// present and set to true, the request will fail with a response of
	// 409 Conflict.
	Print bool `json:"print"`
}

SelectFileRequest selects a file for printing.

func (*SelectFileRequest) Do

func (cmd *SelectFileRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type SetZOffsetRequest

type SetZOffsetRequest struct {
	Command string  `json:"command"`
	Tool    int     `json:"tool"`
	Value   float64 `json:"value"`
}

SetZOffsetRequest - retrieves the current configuration of OctoPrint.

func (*SetZOffsetRequest) Do

func (this *SetZOffsetRequest) Do(client *Client) error

type SettingsRequest

type SettingsRequest struct{}

SettingsRequest retrieves the current configuration of OctoPrint.

func (*SettingsRequest) Do

Do sends an API request and returns the API response.

type StartRequest

type StartRequest struct{}

StartRequest starts the print of the currently selected file.

func (*StartRequest) Do

func (cmd *StartRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type StatusMapping

type StatusMapping map[int]string

func (*StatusMapping) Error

func (this *StatusMapping) Error(code int) error

type SystemCommandsRequest

type SystemCommandsRequest struct{}

SystemCommandsRequest retrieves all configured system commands.

func (*SystemCommandsRequest) Do

Do sends an API request and returns the API response.

type SystemExecuteCommandRequest

type SystemExecuteCommandRequest struct {
	// Source for which to list commands.
	Source dataModels.CommandSource `json:"source"`

	// Action is the identifier of the command, action from its definition.
	Action string `json:"action"`
}

SystemExecuteCommandRequest retrieves all configured system commands.

func (*SystemExecuteCommandRequest) Do

func (this *SystemExecuteCommandRequest) Do(client *Client) error

Do sends an API request and returns an error if any.

type TemperatureDataRequest

type TemperatureDataRequest struct {
}

FullStateRequest retrieves the current state of the printer.

func (*TemperatureDataRequest) Do

Do sends an API request and returns the API response.

type ToolExtrudeRequest

type ToolExtrudeRequest struct {
	// Amount is the amount of filament to extrude in mm. May be negative to
	// retract.
	Amount int `json:"amount"`
}

ToolExtrudeRequest extrudes the given amount of filament from the currently selected tool.

func (*ToolExtrudeRequest) Do

func (cmd *ToolExtrudeRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type ToolFlowRateRequest

type ToolFlowRateRequest struct {
	// Factor is the new factor, percentage as integer, between 75 and 125%.
	Factor int `json:"factor"`
}

ToolFlowRateRequest changes the flow rate factor to apply to extrusion of the tool.

func (*ToolFlowRateRequest) Do

func (cmd *ToolFlowRateRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type ToolOffsetRequest

type ToolOffsetRequest struct {
	// Offset is offset(s) to set, key must match the format tool{n} with n
	// being the tool’s index starting with 0.
	Offsets map[string]float64 `json:"offsets"`
}

ToolOffsetRequest sets the given temperature offset on the printer’s tools.

func (*ToolOffsetRequest) Do

func (cmd *ToolOffsetRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type ToolSelectRequest

type ToolSelectRequest struct {
	// Tool to select, format tool{n} with n being the tool’s index starting
	// with 0.
	Tool string `json:"tool"`
}

ToolSelectRequest selects the printer’s current tool.

func (*ToolSelectRequest) Do

func (cmd *ToolSelectRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type ToolStateRequest

type ToolStateRequest struct {
	// History if true retrieve the temperature history.
	IncludeHistory bool

	// Limit limtis amount of returned history data points.
	Limit int
}

ToolStateRequest retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for all of the printer’s available tools.

func (*ToolStateRequest) Do

Do sends an API request and returns the API response.

type ToolTargetRequest

type ToolTargetRequest struct {
	// Target temperature(s) to set, key must match the format tool{n} with n
	// being the tool’s index starting with 0.
	Targets map[string]float64 `json:"targets"`
}

ToolTargetRequest sets the given target temperature on the printer’s tools.

func (*ToolTargetRequest) Do

func (cmd *ToolTargetRequest) Do(c *Client) error

Do sends an API request and returns an error if any.

type UploadFileRequest

type UploadFileRequest struct {
	// Location is the target location to which to upload the file. Currently
	// only `local` and `sdcard` are supported here, with local referring to
	// OctoPrint’s `uploads` folder and `sdcard` referring to the printer’s
	// SD card. If an upload targets the SD card, it will also be stored
	// locally first.
	Location dataModels.Location

	// Select whether to select the file directly after upload (true) or not
	// (false). Optional, defaults to false. Ignored when creating a folder.
	Select bool

	//Print whether to start printing the file directly after upload (true) or
	// not (false). If set, select is implicitely true as well. Optional,
	// defaults to false. Ignored when creating a folder.
	Print bool
	// contains filtered or unexported fields
}

UploadFileRequest uploads a file to the selected location or create a new empty folder on it.

func (*UploadFileRequest) AddFile

func (req *UploadFileRequest) AddFile(filename string, r io.Reader) error

AddFile adds a new file to be uploaded from a given reader.

func (*UploadFileRequest) AddFolder

func (req *UploadFileRequest) AddFolder(folder string) error

AddFolder adds a new folder to be created.

func (*UploadFileRequest) Do

Do sends an API request and returns the API response.

type VersionRequest

type VersionRequest struct{}

VersionRequest retrieve information regarding server and API version.

func (*VersionRequest) Do

Do sends an API request and returns the API response.

type ZOffsetRequest

type ZOffsetRequest struct {
	Command string `json:"command"`
	Tool    int    `json:"tool"`
}

func (*ZOffsetRequest) Do

func (this *ZOffsetRequest) Do(client *Client) (*dataModels.ZOffsetResponse, error)

Directories

Path Synopsis
_examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL