Documentation ¶
Overview ¶
Package digest provides api features.
Index ¶
- Constants
- Variables
- func CacheKey(key string, s ...string) string
- func CacheKeyFromRequest(r *http.Request) string
- func CacheKeyPath(r *http.Request) string
- func DefaultItemsLimiter(string) int64
- func DigestBlock(ctx context.Context, st *Database, blk block.Block) error
- func HTTP2HandleError(w http.ResponseWriter, err error)
- func HTTP2NotSupported(w http.ResponseWriter, err error)
- func HTTP2ProblemWithError(w http.ResponseWriter, err error, status int)
- func HTTP2Stream(enc encoder.Encoder, w http.ResponseWriter, bufsize int, status int) (*jsoniter.Stream, func())
- func HTTP2WriteCache(w http.ResponseWriter, key string, expire time.Duration)
- func HTTP2WriteHal(enc encoder.Encoder, w http.ResponseWriter, hal Hal, status int)
- func HTTP2WriteHalBytes(enc encoder.Encoder, w http.ResponseWriter, b []byte, status int)
- func HTTP2WritePoblem(w http.ResponseWriter, pr Problem, status int)
- func IsAccountState(st state.State) (currency.Account, bool, error)
- func IsBalanceState(st state.State) (currency.Amount, bool, error)
- func LoadBalance(decoder func(interface{}) error, encs *encoder.Encoders) (state.State, error)
- func LoadCurrenciesFromDatabase(st *mongodbstorage.Database, height base.Height, ...) error
- func LoadFromCache(cache Cache, key string, w http.ResponseWriter) error
- func LoadOperationHash(decoder func(interface{}) error) (valuehash.Hash, error)
- func MakeCacheKey(key string) string
- func ScanCRLF(data []byte, atEOF bool) (int, []byte, error)
- func WriteFromCache(b []byte, w http.ResponseWriter) error
- type AccountDoc
- type AccountValue
- func (va AccountValue) Account() currency.Account
- func (va AccountValue) Balance() []currency.Amount
- func (va AccountValue) Height() base.Height
- func (AccountValue) Hint() hint.Hint
- func (va AccountValue) MarshalBSON() ([]byte, error)
- func (va AccountValue) MarshalJSON() ([]byte, error)
- func (va AccountValue) PreviousHeight() base.Height
- func (va AccountValue) SetBalance(balance []currency.Amount) AccountValue
- func (va AccountValue) SetHeight(height base.Height) AccountValue
- func (va AccountValue) SetPreviousHeight(height base.Height) AccountValue
- func (va *AccountValue) UnpackBSON(b []byte, enc *bsonenc.Encoder) error
- func (va *AccountValue) UnpackJSON(b []byte, enc *jsonenc.Encoder) error
- type AccountValueBSONUnpacker
- type AccountValueJSONPacker
- type AccountValueJSONUnpacker
- type BalanceDoc
- type BaseHal
- func (hal BaseHal) AddExtras(key string, value interface{}) Hal
- func (hal BaseHal) AddLink(rel string, link HalLink) Hal
- func (hal BaseHal) Extras() map[string]interface{}
- func (BaseHal) Hint() hint.Hint
- func (hal BaseHal) Interface() interface{}
- func (hal BaseHal) Links() map[string]HalLink
- func (hal BaseHal) MarshalJSON() ([]byte, error)
- func (hal BaseHal) RawInterface() []byte
- func (hal BaseHal) Self() HalLink
- func (hal BaseHal) SetInterface(i interface{}) Hal
- func (hal BaseHal) SetSelf(u HalLink) Hal
- func (hal *BaseHal) UnmarshalJSON(b []byte) error
- type BaseHalJSONPacker
- type BaseHalJSONUnpacker
- type BlockSession
- type Builder
- type Cache
- type CacheResponseWriter
- func (cr *CacheResponseWriter) Cache() error
- func (cr *CacheResponseWriter) Expire() time.Duration
- func (cr *CacheResponseWriter) Key() string
- func (cr *CacheResponseWriter) OK() bool
- func (cr *CacheResponseWriter) SetExpire(expire time.Duration) *CacheResponseWriter
- func (cr *CacheResponseWriter) SetKey(key string) *CacheResponseWriter
- func (cr *CacheResponseWriter) SkipCache() *CacheResponseWriter
- func (cr *CacheResponseWriter) Write(b []byte) (int, error)
- func (cr *CacheResponseWriter) WriteHeader(status int)
- type CachedHTTPHandler
- type Database
- func (st *Database) Account(a base.Address) (AccountValue, bool, error)
- func (st *Database) AccountsByPublickey(pub key.Publickey, loadBalance bool, offsetHeight base.Height, ...) error
- func (st *Database) Clean() error
- func (st *Database) CleanByHeight(ctx context.Context, height base.Height) error
- func (st *Database) Close() error
- func (st *Database) Initialize() error
- func (st *Database) LastBlock() base.Height
- func (st *Database) Manifest(h valuehash.Hash) (block.Manifest, bool, error)
- func (st *Database) ManifestByHeight(height base.Height) (block.Manifest, bool, error)
- func (st *Database) Manifests(load bool, reverse bool, offset base.Height, limit int64, ...) error
- func (st *Database) New() (*Database, error)
- func (st *Database) Operation(h valuehash.Hash, load bool) (OperationValue, bool, error)
- func (st *Database) Operations(filter bson.M, load bool, reverse bool, limit int64, ...) error
- func (st *Database) OperationsByAddress(address base.Address, load, reverse bool, offset string, limit int64, ...) error
- func (st *Database) Readonly() bool
- func (st *Database) SetLastBlock(height base.Height) error
- type DigestError
- type Digester
- type DummyCache
- type HTTP2Server
- type Hal
- type HalLink
- func (hl HalLink) Href() string
- func (hl HalLink) MarshalJSON() ([]byte, error)
- func (hl HalLink) Properties() map[string]interface{}
- func (hl HalLink) SetProperty(key string, value interface{}) HalLink
- func (hl HalLink) SetTemplated() HalLink
- func (hl HalLink) URL() (*url.URL, error)
- func (hl *HalLink) UnmarshalJSON(b []byte) error
- type HalLinkJSONUnpacker
- type Handlers
- func (hd *Handlers) Cache() Cache
- func (hd *Handlers) Handler() http.Handler
- func (hd *Handlers) Initialize() error
- func (hd *Handlers) Router() *mux.Router
- func (hd *Handlers) SetLimiter(f func(string) int64) *Handlers
- func (hd *Handlers) SetNodeInfoHandler(handler network.NodeInfoHandler) *Handlers
- func (hd *Handlers) SetRateLimit(rules map[string][]process.RateLimitRule, store limiter.Store) *Handlers
- func (hd *Handlers) SetSend(f func(interface{}) (seal.Seal, error)) *Handlers
- type LocalMemCache
- type Memcached
- type NodeInfo
- func (NodeInfo) Hint() hint.Hint
- func (ni NodeInfo) MarshalBSON() ([]byte, error)
- func (ni NodeInfo) MarshalJSON() ([]byte, error)
- func (ni NodeInfo) String() string
- func (ni *NodeInfo) UnpackBSON(b []byte, enc *bsonenc.Encoder) error
- func (ni *NodeInfo) UnpackJSON(b []byte, enc *jsonenc.Encoder) error
- type NodeInfoPackerJSON
- type OperationDoc
- type OperationValue
- func (va OperationValue) ConfirmedAt() time.Time
- func (va OperationValue) Height() base.Height
- func (OperationValue) Hint() hint.Hint
- func (va OperationValue) InState() bool
- func (va OperationValue) Index() uint64
- func (va OperationValue) MarshalBSON() ([]byte, error)
- func (va OperationValue) MarshalJSON() ([]byte, error)
- func (va OperationValue) Operation() operation.Operation
- func (va OperationValue) Reason() operation.ReasonError
- func (va *OperationValue) UnpackBSON(b []byte, enc *bsonenc.Encoder) error
- func (va *OperationValue) UnpackJSON(b []byte, enc *jsonenc.Encoder) error
- type OperationValueBSONUnpacker
- type OperationValueJSONPacker
- type OperationValueJSONUnpacker
- type Problem
- func (pr Problem) Error() string
- func (Problem) Hint() hint.Hint
- func (pr Problem) MarshalJSON() ([]byte, error)
- func (pr Problem) SetDetail(detail string) Problem
- func (pr Problem) SetExtra(key string, value interface{}) Problem
- func (pr Problem) SetTitle(title string) Problem
- func (pr *Problem) UnmarshalJSON(b []byte) error
Constants ¶
const ( ProblemMimetype = "application/problem+json; charset=utf-8" ProblemNamespace = "https://github.com/spikeekips/mitum-currency/problems" DefaultProblemType = "others" )
Variables ¶
var ( AccountValueType = hint.Type("mitum-currency-account-value") AccountValueHint = hint.NewHint(AccountValueType, "v0.0.1") )
var ( DefaultCacheExpire = time.Hour SkipCacheError = util.NewError("skip cache") )
var ( BaseHalType = hint.Type("mitum-currency-hal") BaseHalHint = hint.NewHint(BaseHalType, "v0.0.1") )
var ( HTTP2EncoderHintHeader = http.CanonicalHeaderKey("x-mitum-encoder-hint") HALMimetype = "application/hal+json; charset=utf-8" )
var ( HandlerPathNodeInfo = `/` HandlerPathCurrencies = `/currency` HandlerPathCurrency = `/currency/{currencyid:.*}` HandlerPathManifests = `/block/manifests` HandlerPathOperations = `/block/operations` HandlerPathOperation = `/block/operation/{hash:(?i)[0-9a-z][0-9a-z]+}` HandlerPathBlockByHeight = `/block/{height:[0-9]+}` HandlerPathBlockByHash = `/block/{hash:(?i)[0-9a-z][0-9a-z]+}` HandlerPathOperationsByHeight = `/block/{height:[0-9]+}/operations` HandlerPathManifestByHeight = `/block/{height:[0-9]+}/manifest` HandlerPathManifestByHash = `/block/{hash:(?i)[0-9a-z][0-9a-z]+}/manifest` HandlerPathAccount = `/account/{address:(?i)` + base.REStringAddressString + `}` // revive:disable-line:line-length-limit HandlerPathAccountOperations = `/account/{address:(?i)` + base.REStringAddressString + `}/operations` // revive:disable-line:line-length-limit HandlerPathAccounts = `/accounts` HandlerPathOperationBuildFactTemplate = `/builder/operation/fact/template/{fact:[\w][\w\-]*}` HandlerPathOperationBuildFact = `/builder/operation/fact` HandlerPathOperationBuildSign = `/builder/operation/sign` HandlerPathOperationBuild = `/builder/operation` HandlerPathSend = `/builder/send` )
var ( NodeInfoType = hint.Type("mitum-currency-node-info") NodeInfoHint = hint.NewHint(NodeInfoType, "v0.0.1") )
var ( OperationValueType = hint.Type("mitum-currency-operation-value") OperationValueHint = hint.NewHint(OperationValueType, "v0.0.1") )
var ( ProblemType = hint.Type("mitum-currency-problem") ProblemHint = hint.NewHint(ProblemType, "v0.0.1") )
var AllCollections = []string{
defaultColNameAccount,
defaultColNameBalance,
defaultColNameOperation,
}
var DigestStorageLastBlockKey = "digest_last_block"
var GlobalItemsLimit int64 = 10
var HALJSONConfigDefault = jsoniter.Config{ EscapeHTML: false, }.Froze()
var RateLimitHandlerMap = map[string]string{ "node-info": HandlerPathNodeInfo, "currencies": HandlerPathCurrencies, "currency": HandlerPathCurrency, "block-manifests": HandlerPathManifests, "block-operations": HandlerPathOperations, "block-operation": HandlerPathOperation, "block-by-height": HandlerPathBlockByHeight, "block-by-hash": HandlerPathBlockByHash, "block-operations-by-height": HandlerPathOperationsByHeight, "block-manifest-by-height": HandlerPathManifestByHeight, "block-manifest-by-hash": HandlerPathManifestByHash, "account": HandlerPathAccount, "account-operations": HandlerPathAccountOperations, "accounts": HandlerPathAccounts, "builder-operation-fact-template": HandlerPathOperationBuildFactTemplate, "builder-operation-fact": HandlerPathOperationBuildFact, "builder-operation-sign": HandlerPathOperationBuildSign, "builder-operation": HandlerPathOperationBuild, "builder-send": HandlerPathSend, }
var (
UnknownProblem = NewProblem(DefaultProblemType, "unknown problem occurred")
)
Functions ¶
func CacheKeyFromRequest ¶
func CacheKeyPath ¶
func DefaultItemsLimiter ¶
func HTTP2HandleError ¶
func HTTP2HandleError(w http.ResponseWriter, err error)
func HTTP2NotSupported ¶
func HTTP2NotSupported(w http.ResponseWriter, err error)
func HTTP2ProblemWithError ¶
func HTTP2ProblemWithError(w http.ResponseWriter, err error, status int)
func HTTP2Stream ¶
func HTTP2WriteCache ¶
func HTTP2WriteCache(w http.ResponseWriter, key string, expire time.Duration)
func HTTP2WriteHal ¶
func HTTP2WriteHalBytes ¶
func HTTP2WritePoblem ¶
func HTTP2WritePoblem(w http.ResponseWriter, pr Problem, status int)
func LoadBalance ¶
func LoadFromCache ¶
func LoadFromCache(cache Cache, key string, w http.ResponseWriter) error
func LoadOperationHash ¶
func MakeCacheKey ¶
func WriteFromCache ¶
func WriteFromCache(b []byte, w http.ResponseWriter) error
Types ¶
type AccountDoc ¶
type AccountDoc struct { mongodbstorage.BaseDoc // contains filtered or unexported fields }
func NewAccountDoc ¶
func NewAccountDoc(rs AccountValue, enc encoder.Encoder) (AccountDoc, error)
func (AccountDoc) MarshalBSON ¶
func (doc AccountDoc) MarshalBSON() ([]byte, error)
type AccountValue ¶
type AccountValue struct {
// contains filtered or unexported fields
}
func LoadAccountValue ¶
func LoadAccountValue(decoder func(interface{}) error, encs *encoder.Encoders) (AccountValue, error)
func NewAccountValue ¶
func NewAccountValue(st state.State) (AccountValue, error)
func (AccountValue) Account ¶
func (va AccountValue) Account() currency.Account
func (AccountValue) Balance ¶
func (va AccountValue) Balance() []currency.Amount
func (AccountValue) Height ¶
func (va AccountValue) Height() base.Height
func (AccountValue) Hint ¶
func (AccountValue) Hint() hint.Hint
func (AccountValue) MarshalBSON ¶
func (va AccountValue) MarshalBSON() ([]byte, error)
func (AccountValue) MarshalJSON ¶
func (va AccountValue) MarshalJSON() ([]byte, error)
func (AccountValue) PreviousHeight ¶
func (va AccountValue) PreviousHeight() base.Height
func (AccountValue) SetBalance ¶
func (va AccountValue) SetBalance(balance []currency.Amount) AccountValue
func (AccountValue) SetHeight ¶
func (va AccountValue) SetHeight(height base.Height) AccountValue
func (AccountValue) SetPreviousHeight ¶
func (va AccountValue) SetPreviousHeight(height base.Height) AccountValue
func (*AccountValue) UnpackBSON ¶
func (va *AccountValue) UnpackBSON(b []byte, enc *bsonenc.Encoder) error
func (*AccountValue) UnpackJSON ¶
func (va *AccountValue) UnpackJSON(b []byte, enc *jsonenc.Encoder) error
type AccountValueJSONPacker ¶
type AccountValueJSONPacker struct { jsonenc.HintedHead currency.AccountPackerJSON BL []currency.Amount `json:"balance,omitempty"` HT base.Height `json:"height"` PT base.Height `json:"previous_height"` }
type BalanceDoc ¶
type BalanceDoc struct { mongodbstorage.BaseDoc // contains filtered or unexported fields }
func NewBalanceDoc ¶
NewBalanceDoc gets the State of Amount
func (BalanceDoc) MarshalBSON ¶
func (doc BalanceDoc) MarshalBSON() ([]byte, error)
type BaseHal ¶
type BaseHal struct {
// contains filtered or unexported fields
}
func NewBaseHal ¶
func (BaseHal) MarshalJSON ¶
func (BaseHal) RawInterface ¶
func (BaseHal) SetInterface ¶
func (*BaseHal) UnmarshalJSON ¶
type BaseHalJSONPacker ¶
type BaseHalJSONUnpacker ¶
type BaseHalJSONUnpacker struct { R json.RawMessage `json:"_embedded,omitempty"` LS map[string]HalLink `json:"_links,omitempty"` EX map[string]interface{} `json:"_extra,omitempty"` }
type BlockSession ¶
func NewBlockSession ¶
func NewBlockSession(st *Database, blk block.Block) (*BlockSession, error)
func (*BlockSession) Close ¶
func (bs *BlockSession) Close() error
func (*BlockSession) Prepare ¶
func (bs *BlockSession) Prepare() error
type Cache ¶
func NewCacheFromURI ¶
type CacheResponseWriter ¶
type CacheResponseWriter struct { http.ResponseWriter // contains filtered or unexported fields }
func NewCacheResponseWriter ¶
func NewCacheResponseWriter(cache Cache, w http.ResponseWriter, r *http.Request) *CacheResponseWriter
func (*CacheResponseWriter) Cache ¶
func (cr *CacheResponseWriter) Cache() error
func (*CacheResponseWriter) Expire ¶
func (cr *CacheResponseWriter) Expire() time.Duration
func (*CacheResponseWriter) Key ¶
func (cr *CacheResponseWriter) Key() string
func (*CacheResponseWriter) OK ¶
func (cr *CacheResponseWriter) OK() bool
func (*CacheResponseWriter) SetExpire ¶
func (cr *CacheResponseWriter) SetExpire(expire time.Duration) *CacheResponseWriter
func (*CacheResponseWriter) SetKey ¶
func (cr *CacheResponseWriter) SetKey(key string) *CacheResponseWriter
func (*CacheResponseWriter) SkipCache ¶
func (cr *CacheResponseWriter) SkipCache() *CacheResponseWriter
func (*CacheResponseWriter) WriteHeader ¶
func (cr *CacheResponseWriter) WriteHeader(status int)
type CachedHTTPHandler ¶
func NewCachedHTTPHandler ¶
func NewCachedHTTPHandler(cache Cache, f func(http.ResponseWriter, *http.Request)) CachedHTTPHandler
func (CachedHTTPHandler) ServeHTTP ¶
func (ch CachedHTTPHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type Database ¶
func NewDatabase ¶
func NewDatabase(mitum *mongodbstorage.Database, st *mongodbstorage.Database) (*Database, error)
func NewReadonlyDatabase ¶
func NewReadonlyDatabase(mitum *mongodbstorage.Database, st *mongodbstorage.Database) (*Database, error)
func (*Database) AccountsByPublickey ¶
func (st *Database) AccountsByPublickey( pub key.Publickey, loadBalance bool, offsetHeight base.Height, offsetAddress string, limit int64, callback func(AccountValue) (bool, error), ) error
AccountsByPublickey finds Accounts, which are related with the given Publickey. * offset: returns from next of offset, usually it is "<height>,<address>".
func (*Database) CleanByHeight ¶
func (*Database) Initialize ¶
func (*Database) ManifestByHeight ¶
func (*Database) Manifests ¶
func (st *Database) Manifests( load bool, reverse bool, offset base.Height, limit int64, callback func(base.Height, valuehash.Hash, block.Manifest) (bool, error), ) error
Manifests returns block.Manifests by it's order, height.
func (*Database) Operation ¶
Operation returns operation.Operation. If load is false, just returns nil Operation.
func (*Database) Operations ¶
func (st *Database) Operations( filter bson.M, load bool, reverse bool, limit int64, callback func(valuehash.Hash, OperationValue) (bool, error), ) error
Operations returns operation.Operations by it's order, height and index.
func (*Database) OperationsByAddress ¶
func (st *Database) OperationsByAddress( address base.Address, load, reverse bool, offset string, limit int64, callback func(valuehash.Hash, OperationValue) (bool, error), ) error
OperationsByAddress finds the operation.Operations, which are related with the given Address. The returned valuehash.Hash is the operation.Operation.Fact().Hash(). * load:if true, load operation.Operation and returns it. If not, just hash will be returned * reverse: order by height; if true, higher height will be returned first. * offset: returns from next of offset, usually it is combination of "<height>,<fact>".
type DigestError ¶
type DigestError struct {
// contains filtered or unexported fields
}
func NewDigestError ¶
func NewDigestError(err error, height base.Height) DigestError
func (DigestError) Error ¶
func (de DigestError) Error() string
func (DigestError) Height ¶
func (de DigestError) Height() base.Height
func (DigestError) IsError ¶
func (de DigestError) IsError() bool
type Digester ¶
type Digester struct { sync.RWMutex *util.ContextDaemon *logging.Logging // contains filtered or unexported fields }
func NewDigester ¶
type DummyCache ¶
type DummyCache struct{}
type HTTP2Server ¶
type HTTP2Server struct { sync.RWMutex *logging.Logging *util.ContextDaemon // contains filtered or unexported fields }
func NewHTTP2Server ¶
func NewHTTP2Server(bind, host string, certs []tls.Certificate) (*HTTP2Server, error)
func (*HTTP2Server) Initialize ¶
func (sv *HTTP2Server) Initialize() error
func (*HTTP2Server) Router ¶
func (sv *HTTP2Server) Router() *mux.Router
func (*HTTP2Server) SetLogging ¶
func (sv *HTTP2Server) SetLogging(l *logging.Logging) *logging.Logging
func (*HTTP2Server) SetRouter ¶
func (sv *HTTP2Server) SetRouter(router *mux.Router)
type HalLink ¶
type HalLink struct {
// contains filtered or unexported fields
}
func NewHalLink ¶
func (HalLink) MarshalJSON ¶
func (HalLink) Properties ¶
func (HalLink) SetProperty ¶
func (HalLink) SetTemplated ¶
func (*HalLink) UnmarshalJSON ¶
type HalLinkJSONUnpacker ¶
type Handlers ¶
func NewHandlers ¶
func (*Handlers) Initialize ¶
func (*Handlers) SetNodeInfoHandler ¶
func (hd *Handlers) SetNodeInfoHandler(handler network.NodeInfoHandler) *Handlers
func (*Handlers) SetRateLimit ¶
func (hd *Handlers) SetRateLimit(rules map[string][]process.RateLimitRule, store limiter.Store) *Handlers
type LocalMemCache ¶
type LocalMemCache struct {
// contains filtered or unexported fields
}
func NewLocalMemCache ¶
func NewLocalMemCache(size int, expire time.Duration) *LocalMemCache
type Memcached ¶
type Memcached struct {
// contains filtered or unexported fields
}
func NewMemcached ¶
type NodeInfo ¶
type NodeInfo struct {
network.NodeInfoV0
}
func NewNodeInfo ¶
func NewNodeInfo(ni network.NodeInfoV0) NodeInfo
func (NodeInfo) MarshalBSON ¶
func (NodeInfo) MarshalJSON ¶
type NodeInfoPackerJSON ¶
type NodeInfoPackerJSON struct { jsonenc.HintedHead network.NodeInfoV0PackerJSON }
type OperationDoc ¶
type OperationDoc struct { mongodbstorage.BaseDoc // contains filtered or unexported fields }
func NewOperationDoc ¶
func (OperationDoc) MarshalBSON ¶
func (doc OperationDoc) MarshalBSON() ([]byte, error)
type OperationValue ¶
type OperationValue struct {
// contains filtered or unexported fields
}
func LoadOperation ¶
func LoadOperation(decoder func(interface{}) error, encs *encoder.Encoders) (OperationValue, error)
func NewOperationValue ¶
func (OperationValue) ConfirmedAt ¶
func (va OperationValue) ConfirmedAt() time.Time
func (OperationValue) Height ¶
func (va OperationValue) Height() base.Height
func (OperationValue) Hint ¶
func (OperationValue) Hint() hint.Hint
func (OperationValue) InState ¶
func (va OperationValue) InState() bool
func (OperationValue) Index ¶
func (va OperationValue) Index() uint64
Index indicates the index number of Operation in OperationTree of block.
func (OperationValue) MarshalBSON ¶
func (va OperationValue) MarshalBSON() ([]byte, error)
func (OperationValue) MarshalJSON ¶
func (va OperationValue) MarshalJSON() ([]byte, error)
func (OperationValue) Operation ¶
func (va OperationValue) Operation() operation.Operation
func (OperationValue) Reason ¶
func (va OperationValue) Reason() operation.ReasonError
func (*OperationValue) UnpackBSON ¶
func (va *OperationValue) UnpackBSON(b []byte, enc *bsonenc.Encoder) error
func (*OperationValue) UnpackJSON ¶
func (va *OperationValue) UnpackJSON(b []byte, enc *jsonenc.Encoder) error
type OperationValueJSONUnpacker ¶
type OperationValueJSONUnpacker struct { OP json.RawMessage `json:"operation"` HT base.Height `json:"height"` CF localtime.Time `json:"confirmed_at"` IN bool `json:"in_state"` RS json.RawMessage `json:"reason"` ID uint64 `json:"index"` }
type Problem ¶
type Problem struct {
// contains filtered or unexported fields
}
Problem implements "Problem Details for HTTP APIs"<https://tools.ietf.org/html/rfc7807>.
func NewProblem ¶
func NewProblemFromError ¶
func (Problem) MarshalJSON ¶
func (*Problem) UnmarshalJSON ¶
Source Files ¶
- account_value.go
- account_value_bson.go
- account_value_encode.go
- account_value_json.go
- block_session.go
- builder.go
- cache.go
- currency.go
- database.go
- decode.go
- digest.go
- doc.go
- doc_account.go
- doc_operation.go
- hal.go
- hal_json.go
- handler.go
- handler_account.go
- handler_block.go
- handler_currency.go
- handler_manifest.go
- handler_node_info.go
- handler_operation.go
- handler_operation_build.go
- handler_send.go
- index.go
- node_info.go
- node_info_bson.go
- node_info_json.go
- operation_value.go
- operation_value_bson.go
- operation_value_json.go
- problem.go
- problem_json.go
- server.go
- util.go