internal

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2018 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package internal provides support for package appengine.

Programs should not use this package directly. Its API is not stable. Use packages appengine and appengine/* instead.

Index

Constants

This section is empty.

Variables

View Source
var ErrConcurrentTransaction = errors.New("internal: concurrent transaction")
View Source
var NamespaceMods = make(map[string]func(m proto.Message, namespace string))

NamespaceMods is a map from API service to a function that will mutate an RPC request to attach a namespace. The function should be prepared to be called on the same message more than once; it should only modify the RPC request the first time.

Functions

func AppID

func AppID(c netcontext.Context) string

func BackgroundContext

func BackgroundContext() netcontext.Context

func Call

func Call(ctx netcontext.Context, service, method string, in, out proto.Message) error

func ContextForTesting

func ContextForTesting(req *http.Request) netcontext.Context

func Datacenter

func Datacenter(ctx netcontext.Context) string

func DefaultTicket added in v1.1.0

func DefaultTicket() string

DefaultTicket returns a ticket used for background context or dev_appserver.

func DefaultVersionHostname

func DefaultVersionHostname(ctx netcontext.Context) string

func FullyQualifiedAppID

func FullyQualifiedAppID(ctx netcontext.Context) string

FullyQualifiedAppID returns the fully-qualified application ID. This may contain a partition prefix (e.g. "s~" for High Replication apps), or a domain prefix (e.g. "example.com:").

func IncomingHeaders

func IncomingHeaders(ctx netcontext.Context) http.Header

func InstanceID

func InstanceID() string

func IsDevAppServer

func IsDevAppServer() bool

func Logf

func Logf(ctx netcontext.Context, level int64, format string, args ...interface{})

func Main

func Main()

func ModuleName

func ModuleName(_ netcontext.Context) string

func NamespaceFromContext

func NamespaceFromContext(ctx netcontext.Context) string

func NamespacedContext

func NamespacedContext(ctx netcontext.Context, namespace string) netcontext.Context

NamespacedContext wraps a Context to support namespaces.

func RegisterErrorCodeMap

func RegisterErrorCodeMap(service string, m map[int32]string)

RegisterErrorCodeMap is called from API implementations to register their error code map. This should only be called from init functions.

func RegisterTestRequest

func RegisterTestRequest(req *http.Request, apiURL *url.URL, decorate func(netcontext.Context) netcontext.Context) (*http.Request, func())

RegisterTestRequest registers the HTTP request req for testing, such that any API calls are sent to the provided URL. It returns a closure to delete the registration. It should only be used by aetest package.

func RegisterTimeoutErrorCode

func RegisterTimeoutErrorCode(service string, code int32)

func RegisterTransactionSetter

func RegisterTransactionSetter(f interface{})

RegisterTransactionSetter registers a function that sets transaction information in a protocol buffer message. f should be a function with two arguments, the first being a protocol buffer type, and the second being *datastore.Transaction.

func ReqContext added in v1.1.0

func ReqContext(req *http.Request) netcontext.Context

func RequestID

func RequestID(ctx netcontext.Context) string

func RunTransactionOnce

func RunTransactionOnce(c netcontext.Context, f func(netcontext.Context) error, xg bool, readOnly bool, previousTransaction *pb.Transaction) (*pb.Transaction, error)

func ServerSoftware

func ServerSoftware() string

func SetTestEnv added in v1.1.0

func SetTestEnv() func()

SetTestEnv sets the env variables for testing background ticket in Flex.

func VersionID

func VersionID(_ netcontext.Context) string

func WithAppIDOverride

func WithAppIDOverride(ctx netcontext.Context, appID string) netcontext.Context

func WithContext

func WithContext(parent netcontext.Context, req *http.Request) netcontext.Context

func WithLogOverride

func WithLogOverride(ctx netcontext.Context, f logOverrideFunc) netcontext.Context

Types

type APIError

type APIError struct {
	Service string
	Detail  string
	Code    int32 // API-specific error code
}

APIError is the type returned by appengine.Context's Call method when an API call fails in an API-specific way. This may be, for instance, a taskqueue API call failing with TaskQueueServiceError::UNKNOWN_QUEUE.

func (*APIError) Error

func (e *APIError) Error() string

func (*APIError) IsTimeout

func (e *APIError) IsTimeout() bool

type CallError

type CallError struct {
	Detail string
	Code   int32
	// TODO: Remove this if we get a distinguishable error code.
	Timeout bool
}

CallError is the type returned by appengine.Context's Call method when an API call fails in a generic way, such as RpcError::CAPABILITY_DISABLED.

func (*CallError) Error

func (e *CallError) Error() string

func (*CallError) IsTimeout

func (e *CallError) IsTimeout() bool

type CallOverrideFunc

type CallOverrideFunc func(ctx netcontext.Context, service, method string, in, out proto.Message) error

Directories

Path Synopsis
Package aetesting provides utilities for testing App Engine packages.
Package aetesting provides utilities for testing App Engine packages.
Package app_identity is a generated protocol buffer package.
Package app_identity is a generated protocol buffer package.
Package base is a generated protocol buffer package.
Package base is a generated protocol buffer package.
Package blobstore is a generated protocol buffer package.
Package blobstore is a generated protocol buffer package.
Package capability is a generated protocol buffer package.
Package capability is a generated protocol buffer package.
Package channel is a generated protocol buffer package.
Package channel is a generated protocol buffer package.
Package datastore is a generated protocol buffer package.
Package datastore is a generated protocol buffer package.
Package image is a generated protocol buffer package.
Package image is a generated protocol buffer package.
Package log is a generated protocol buffer package.
Package log is a generated protocol buffer package.
Package mail is a generated protocol buffer package.
Package mail is a generated protocol buffer package.
Package memcache is a generated protocol buffer package.
Package memcache is a generated protocol buffer package.
Package modules is a generated protocol buffer package.
Package modules is a generated protocol buffer package.
Package remote_api is a generated protocol buffer package.
Package remote_api is a generated protocol buffer package.
Package search is a generated protocol buffer package.
Package search is a generated protocol buffer package.
Package socket is a generated protocol buffer package.
Package socket is a generated protocol buffer package.
Package system is a generated protocol buffer package.
Package system is a generated protocol buffer package.
Package taskqueue is a generated protocol buffer package.
Package taskqueue is a generated protocol buffer package.
Package urlfetch is a generated protocol buffer package.
Package urlfetch is a generated protocol buffer package.
Package user is a generated protocol buffer package.
Package user is a generated protocol buffer package.
Package xmpp is a generated protocol buffer package.
Package xmpp is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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