appenginegoogle.golang.org/appengine/internal Index | Files | Directories

package internal

import "google.golang.org/appengine/internal"

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

Variables

var ErrConcurrentTransaction = errors.New("internal: concurrent transaction")
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 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) 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 RequestID

func RequestID(ctx netcontext.Context) string

func RunTransactionOnce

func RunTransactionOnce(c netcontext.Context, f func(netcontext.Context) error, xg bool) error

func ServerSoftware

func ServerSoftware() string

func VersionID

func VersionID(_ netcontext.Context) string

func WithAppIDOverride

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

func WithCallOverride

func WithCallOverride(ctx netcontext.Context, f CallOverrideFunc) 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

Source Files

api.go api_common.go app_id.go identity.go identity_vm.go internal.go main_vm.go metadata.go net.go transaction.go

Directories

PathSynopsis
internal/aetestingPackage aetesting provides utilities for testing App Engine packages.
internal/app_identityPackage app_identity is a generated protocol buffer package.
internal/basePackage base is a generated protocol buffer package.
internal/blobstorePackage blobstore is a generated protocol buffer package.
internal/capabilityPackage capability is a generated protocol buffer package.
internal/channelPackage channel is a generated protocol buffer package.
internal/datastorePackage datastore is a generated protocol buffer package.
internal/imagePackage image is a generated protocol buffer package.
internal/logPackage log is a generated protocol buffer package.
internal/mailPackage mail is a generated protocol buffer package.
internal/memcachePackage memcache is a generated protocol buffer package.
internal/modulesPackage modules is a generated protocol buffer package.
internal/remote_apiPackage remote_api is a generated protocol buffer package.
internal/searchPackage search is a generated protocol buffer package.
internal/socketPackage socket is a generated protocol buffer package.
internal/systemPackage system is a generated protocol buffer package.
internal/taskqueuePackage taskqueue is a generated protocol buffer package.
internal/urlfetchPackage urlfetch is a generated protocol buffer package.
internal/userPackage user is a generated protocol buffer package.
internal/xmppPackage xmpp is a generated protocol buffer package.
Version
v1.0.0
Published
Sep 29, 2016
Platform
windows/amd64
Imports
23 packages
Last checked
1 hour ago

Tools for package owners.