server

package
v0.22.1 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2023 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrForbidden = status.Error(codes.Unauthenticated, "action not allowed")

Functions

func ErrorToCode added in v0.16.0

func ErrorToCode(err error) codes.Code

ErrorToCode maps an error to a gRPC code for logging. It wraps the default behavior and adds handling of context errors.

func GRPCCodeToLevel added in v0.16.0

func GRPCCodeToLevel(code codes.Code) logging.Level

GRPCCodeToLevel overrides the log level of various gRPC codes. We're currently not doing very granular error handling, so we get quite a lot of codes.Unknown errors, which we do not want to emit as error logs.

func HTTPErrorHandler added in v0.17.0

func HTTPErrorHandler(ctx context.Context, mux *gateway.ServeMux, marshaler gateway.Marshaler, w http.ResponseWriter, r *http.Request, err error)

HTTPErrorHandler wraps gateway.DefaultHTTPErrorHandler to map gRPC unknown errors (i.e. errors without an explicit code) to HTTP status code 400 instead of 500.

Types

type ColumnInfo added in v0.15.0

type ColumnInfo struct {
	Name    string
	Type    string
	Unknown int
}

type Options added in v0.16.0

type Options struct {
	HTTPPort        int
	GRPCPort        int
	AuthEnable      bool
	AuthIssuerURL   string
	AuthAudienceURL string
}

type Server

type Server struct {
	runtimev1.UnsafeRuntimeServiceServer
	runtimev1.UnsafeQueryServiceServer
	// contains filtered or unexported fields
}

func NewServer

func NewServer(opts *Options, rt *runtime.Runtime, logger *zap.Logger) (*Server, error)

func (*Server) Close added in v0.22.0

func (s *Server) Close() error

Close should be called when the server is done

func (*Server) ColumnCardinality added in v0.22.0

func (*Server) ColumnDescriptiveStatistics added in v0.22.0

func (*Server) ColumnNullCount added in v0.22.0

func (*Server) ColumnNumericHistogram added in v0.22.0

func (*Server) ColumnRollupInterval added in v0.22.0

Metrics/Timeseries APIs

func (*Server) ColumnRugHistogram added in v0.22.0

func (*Server) ColumnTimeGrain added in v0.22.0

func (*Server) ColumnTimeRange added in v0.22.0

func (*Server) ColumnTimeSeries added in v0.22.0

func (*Server) ColumnTopK added in v0.22.0

func (*Server) CreateInstance

CreateInstance implements RuntimeService.

func (*Server) DeleteFile added in v0.15.0

DeleteFile implements RuntimeService.

func (*Server) DeleteFileAndReconcile added in v0.16.0

DeleteFileAndReconcile implements RuntimeService.

func (*Server) DeleteInstance

DeleteInstance implements RuntimeService.

func (*Server) ExportTable added in v0.16.0

func (s *Server) ExportTable(w http.ResponseWriter, req *http.Request, pathParams map[string]string)

ExportTable exports a table or view as a flat file and triggers a HTTP download of it. It's mounted as a REST API only, and is not available over gRPC.

TODO: This is a temporary hack that only supports DuckDB. We should add a generic workflow for data export that also supports possibly very large tables.

func (*Server) GetCatalogEntry added in v0.16.0

GetCatalogEntry implements RuntimeService.

func (*Server) GetFile added in v0.15.0

GetFile implements RuntimeService.

func (*Server) GetInstance

GetInstance implements RuntimeService.

func (*Server) HTTPHandler added in v0.15.0

func (s *Server) HTTPHandler(ctx context.Context) (http.Handler, error)

HTTPHandler HTTP handler serving REST gateway.

func (*Server) ListCatalogEntries added in v0.16.0

ListCatalogEntries implements RuntimeService.

func (*Server) ListConnectors

ListConnectors implements RuntimeService.

func (*Server) ListFiles added in v0.15.0

ListFiles implements RuntimeService.

func (*Server) ListInstances

ListInstances implements RuntimeService.

func (*Server) MetricsViewTimeSeries

MetricsViewTimeSeries implements QueryService.

func (*Server) MetricsViewToplist

MetricsViewToplist implements QueryService.

func (*Server) MetricsViewTotals

MetricsViewTotals implements QueryService.

func (*Server) Ping

Ping implements RuntimeService

func (*Server) PutFile added in v0.15.0

PutFile implements RuntimeService.

func (*Server) PutFileAndReconcile added in v0.16.0

PutFileAndReconcile implements RuntimeService.

func (*Server) Query

Query implements QueryService.

func (*Server) Reconcile added in v0.16.0

Reconcile implements RuntimeService.

func (*Server) RefreshAndReconcile added in v0.16.0

RefreshAndReconcile implements RuntimeService.

func (*Server) RenameFile added in v0.15.0

RenameFile implements RuntimeService.

func (*Server) RenameFileAndReconcile added in v0.16.0

RenameFileAndReconcile implements RuntimeService.

func (*Server) ServeGRPC added in v0.15.0

func (s *Server) ServeGRPC(ctx context.Context) error

ServeGRPC Starts the gRPC server.

func (*Server) ServeHTTP added in v0.15.0

func (s *Server) ServeHTTP(ctx context.Context) error

Starts the HTTP server.

func (*Server) TableCardinality added in v0.15.0

Table level profiling APIs.

func (*Server) TableColumns added in v0.22.0

func (*Server) TableRows added in v0.15.0

func (*Server) TriggerRefresh

TriggerRefresh implements RuntimeService.

func (*Server) TriggerSync added in v0.15.0

TriggerSync implements RuntimeService.

func (*Server) UploadMultipartFile added in v0.15.0

func (s *Server) UploadMultipartFile(w http.ResponseWriter, req *http.Request, pathParams map[string]string)

UploadMultipartFile implements the same functionality as PutFile, but for multipart HTTP upload. It's mounted only on as a REST API and enables upload of large files (such as data files).

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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