apns

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2018 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakePushEndpoint

func MakePushEndpoint(svc Service) endpoint.Endpoint

func MarshalPushInfo

func MarshalPushInfo(p *PushInfo) ([]byte, error)

func NewPushService

func NewPushService(provider PushCertificateProvider) (*push.Service, error)

func RegisterHTTPHandlers

func RegisterHTTPHandlers(r *mux.Router, e Endpoints, options ...httptransport.ServerOption)

func UnmarshalPushInfo

func UnmarshalPushInfo(data []byte, p *PushInfo) error

Types

type Endpoints

type Endpoints struct {
	PushEndpoint endpoint.Endpoint
}

func MakeServerEndpoints

func MakeServerEndpoints(s Service, outer endpoint.Middleware, others ...endpoint.Middleware) Endpoints

type Middleware

type Middleware func(Service) Service

func LoggingMiddleware

func LoggingMiddleware(logger log.Logger) Middleware

type Option

type Option func(*PushService)

func WithPushService

func WithPushService(svc *push.Service) Option

type PushCertificateProvider

type PushCertificateProvider interface {
	PushCertificate() (*tls.Certificate, error)
}

type PushInfo

type PushInfo struct {
	UDID      string
	PushMagic string
	Token     string
	MDMTopic  string
}

type PushService

type PushService struct {
	// contains filtered or unexported fields
}

func New

func New(db Store, provider PushCertificateProvider, sub pubsub.Subscriber, opts ...Option) (*PushService, error)

func (*PushService) Push

func (svc *PushService) Push(ctx context.Context, deviceUDID string) (string, error)

type Service

type Service interface {
	Push(ctx context.Context, udid string) (string, error)
}

type Store

type Store interface {
	PushInfo(udid string) (*PushInfo, error)
}

type Worker added in v1.3.1

type Worker struct {
	// contains filtered or unexported fields
}

func NewWorker added in v1.3.1

func NewWorker(db WorkerStore, subscriber pubsub.Subscriber, logger log.Logger) *Worker

func (*Worker) Run added in v1.3.1

func (w *Worker) Run(ctx context.Context) error

type WorkerStore added in v1.3.1

type WorkerStore interface {
	Save(*PushInfo) error
}

Directories

Path Synopsis
internal
pushproto
Package pushproto is a generated protocol buffer package.
Package pushproto is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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