← Server functions

Server.DecodeFailure

luastra/server

Server.DecodeFailure represents the unsuccessful branch of a bounded operation. Its stable code and structured context support control flow and safe diagnostics without parsing an exception message.

Before you use it

Add luastra/server to this module's dependencies in luastra.json, then import it with require("luastra/server"). Declare rpc.call in luastra.json and configure a declared backend operation with a deployed trusted handler. Application code should prefer its generated operation function and decoder.

How it fits

The type describes request options, v2 limits, nullable values, public errors, or the tagged envelope-decoding result.

When to use it

Use Server.DecodeFailure on the unsuccessful branch of the related result. Read its stable fields for control flow or diagnostics; do not parse human-readable assertion or error text.

Fields or definition

ParameterType / valuesDescription
successfalseDiscriminator that must be checked before reading branch-specific fields.
fieldsnilValidated bounded field map carried by the decoded or migrated value.
errorstringBounded failure information, or nil on the successful branch.

Error codes

This is the complete closed vocabulary emitted by the named operation in this Source SDK contract.

CodeWhen it occurs
invalid_sizeThe wire payload is empty, not a string, or larger than 4096 bytes.
invalid_versionThe wire payload does not declare protocol version v=1.
malformedA field token is missing its name/value separator.
invalid_fieldA field name, value encoding, or duplicate field is invalid.
too_many_fieldsThe wire payload contains more than 128 fields.

SDK type flow

Produced by

Server.decodeServer.decodeV2

What happens next

A checked request, result, limit, nullable-value, or public-error annotation.

Failures and fixes

Handle transport failure, envelope decode failure, and domain validation failure separately. The static web build does not deploy trusted backend handlers, credentials, or production operations for you.

Availability

Public-source alpha API in 0.5.0-alpha; production backend deployment remains application-owned.

Exact declaration

export type DecodeFailure = { success: false, fields: nil, error: string }

Continue learning

Companions

Server.decodeServer.decodeV2

Complete inventory

View all pages in Server functions
← Previous: Server.DecodeSuccessNext: Server.DecodeResult →