request

package
v0.87.0 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// UUIDKey is the key used when encoding json.
	UUIDKey = "request_uuid"
	// NameKey is the key used for encoding json.
	NameKey = "request_name"
)

Variables

This section is empty.

Functions

func EncodeMoneysocketRequest

func EncodeMoneysocketRequest(msg MoneysocketRequest, toEncode map[string]interface{}) error

EncodeMoneysocketRequest creates a moneysocket request.

func FromText added in v0.54.0

func FromText(payload []byte) (base.MoneysocketMessage, base.MessageType, error)

FromText converts a payload to a decoded moneysocket message TODO handle more elegantly.

Types

type BaseMoneySocketRequest

type BaseMoneySocketRequest struct {
	base.MoneysocketMessage
	// BaseUUID is the uuid of the request
	BaseUUID string
	// RequestType is the request type
	RequestType base.MessageType
}

BaseMoneySocketRequest is a moneysocket request.

func DecodeRequest

func DecodeRequest(request []byte) (b BaseMoneySocketRequest, err error)

DecodeRequest decodes a base moneysocket request.

func NewBaseMoneySocketRequest

func NewBaseMoneySocketRequest(requestType base.MessageType) BaseMoneySocketRequest

NewBaseMoneySocketRequest generates a new base moneysocket request. Should only be used by other message classes.

func (BaseMoneySocketRequest) MessageClass

func (b BaseMoneySocketRequest) MessageClass() base.MessageClass

MessageClass is the base.MessageClass. This is always base.Request.

func (BaseMoneySocketRequest) MessageType

func (b BaseMoneySocketRequest) MessageType() base.MessageType

MessageType gets the message type.

func (BaseMoneySocketRequest) RequestName

func (b BaseMoneySocketRequest) RequestName() string

RequestName gets the request name from the MessageClass.

func (BaseMoneySocketRequest) UUID added in v0.54.0

func (b BaseMoneySocketRequest) UUID() string

UUID is the uuid of the BaseMoneySocketRequest.

type Invoice added in v0.54.0

type Invoice struct {
	BaseMoneySocketRequest
	// Msats is the invoice amount
	Msats int64
}

Invoice request a given number of Msats.

func DecodeRequestInvoice

func DecodeRequestInvoice(payload []byte) (r Invoice, err error)

DecodeRequestInvoice turns a byte slice into a request invoice, return an error if not possible.

func NewRequestInvoice

func NewRequestInvoice(msats int64) Invoice

NewRequestInvoice creates a new request for an invoice.

func (Invoice) ToJSON added in v0.54.0

func (r Invoice) ToJSON() ([]byte, error)

ToJSON encodes an Invoice to json.

type MoneysocketRequest

type MoneysocketRequest interface {
	base.MoneysocketMessage
	// UUID is the uuid of the of the request
	UUID() string
	// RequestName gets the request name
	RequestName() string
	// MessageType is the type of the message
	MessageType() base.MessageType
}

MoneysocketRequest is an interface for requests.

type OpinionInvoice added in v0.54.0

type OpinionInvoice struct {
	BaseMoneySocketRequest
	// ItemID is the item we're invoicing for
	ItemID string
}

OpinionInvoice is a request for payment of a given ItemId.

func DecodeRequestOpinionInvoice

func DecodeRequestOpinionInvoice(payload []byte) (r OpinionInvoice, err error)

DecodeRequestOpinionInvoice decodes an OpinionInvoice from json.

func NewRequestOpinionInvoice

func NewRequestOpinionInvoice(itemID, requestUUID string) OpinionInvoice

NewRequestOpinionInvoice creates a new OpinionInvoice.

func (OpinionInvoice) ToJSON added in v0.54.0

func (r OpinionInvoice) ToJSON() ([]byte, error)

ToJSON encodes an OpinionInvoice to json.

type Pay added in v0.54.0

type Pay struct {
	BaseMoneySocketRequest
	Bolt11 string
}

Pay is a payment request.

func DecodeRequestPay

func DecodeRequestPay(payload []byte) (r Pay, err error)

DecodeRequestPay decodes a Pay from json.

func NewRequestPay

func NewRequestPay(bolt11 string) Pay

NewRequestPay creates a new request pay with a given bolt 11 bolt 11 is not validated client (moneysocket) side.

func (Pay) ToJSON added in v0.54.0

func (r Pay) ToJSON() ([]byte, error)

ToJSON encodes a Pay into json.

type PingRequest

type PingRequest struct {
	BaseMoneySocketRequest
}

PingRequest is a message type used for pinging.

func DecodePing

func DecodePing(payload []byte) (PingRequest, error)

DecodePing gets a PingRequest from json.

func NewPingRequest

func NewPingRequest() PingRequest

NewPingRequest creates a PingRequest.

func (PingRequest) ToJSON added in v0.54.0

func (p PingRequest) ToJSON() ([]byte, error)

ToJSON encodes a PingRequest to json.

type Provider added in v0.54.0

type Provider struct {
	BaseMoneySocketRequest
}

Provider is a provider message.

func DecodeRequestProvider

func DecodeRequestProvider(payload []byte) (Provider, error)

DecodeRequestProvider decode a request provider from json.

func NewRequestProvider

func NewRequestProvider() Provider

NewRequestProvider creates a Provider for messages of base.ProviderRequest type.

func (Provider) ToJSON added in v0.54.0

func (rp Provider) ToJSON() ([]byte, error)

ToJSON encodes a request provider to json.

type Rendezvous added in v0.54.0

type Rendezvous struct {
	BaseMoneySocketRequest
	// RendezvousID is the id of the rendezvous we're requesting (normally derived  from the shared seed)
	RendezvousID string
}

Rendezvous is a rendezvous request.

func DecodeRendezvousRequest

func DecodeRendezvousRequest(payload []byte) (r Rendezvous, err error)

DecodeRendezvousRequest decodes a Rendezvous request from a payload.

func NewRendezvousRequest

func NewRendezvousRequest(id string) Rendezvous

NewRendezvousRequest is the request the server start a rendezvous w/ a given rendezvous id.

func (Rendezvous) MustBeClearText added in v0.54.0

func (r Rendezvous) MustBeClearText() bool

MustBeClearText determines that a rendezvous message can be a clear text message.

func (Rendezvous) ToJSON added in v0.54.0

func (r Rendezvous) ToJSON() ([]byte, error)

ToJSON marshals the Rendezvous message.

Jump to

Keyboard shortcuts

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