SYMBOL INDEX (113 symbols across 14 files) FILE: internal/version/version.go function GetVersion (line 30) | func GetVersion() error { type Info (line 38) | type Info struct method String (line 81) | func (i *Info) String() string { function VersionInfo (line 49) | func VersionInfo() Info { FILE: main.go function main (line 22) | func main() { FILE: server/android_notification_server.go constant apnsAuthError (line 26) | apnsAuthError = "APNS_AUTH_ERROR" constant internalError (line 27) | internalError = "INTERNAL" constant thirdPartyAuthError (line 28) | thirdPartyAuthError = "THIRD_PARTY_AUTH_ERROR" constant invalidArgument (line 29) | invalidArgument = "INVALID_ARGUMENT" constant quotaExceeded (line 30) | quotaExceeded = "QUOTA_EXCEEDED" constant unregistered (line 31) | unregistered = "UNREGISTERED" constant unavailable (line 32) | unavailable = "UNAVAILABLE" constant tokenSourceError (line 33) | tokenSourceError = "TOKEN_SOURCE_ERROR" constant scope (line 37) | scope = "https://www.googleapis.com/auth/firebase.messaging" type AndroidNotificationServer (line 40) | type AndroidNotificationServer struct method Initialize (line 70) | func (me *AndroidNotificationServer) Initialize() error { method SendNotification (line 116) | func (me *AndroidNotificationServer) SendNotification(msg *PushNotific... method SendNotificationWithRetry (line 237) | func (me *AndroidNotificationServer) SendNotificationWithRetry(fcmMsg ... type serviceAccount (line 51) | type serviceAccount struct function NewAndroidNotificationServer (line 60) | func NewAndroidNotificationServer(settings AndroidPushSettings, logger *... function isRetryable (line 292) | func isRetryable(err error) bool { function getErrorCode (line 309) | func getErrorCode(err error) (string, bool) { FILE: server/android_notification_test.go function TestAndroidInitialize (line 18) | func TestAndroidInitialize(t *testing.T) { type ErrorCode (line 58) | type ErrorCode type FirebaseError (line 59) | type FirebaseError struct method Error (line 66) | func (fe *FirebaseError) Error() string { function TestGetErrorCode (line 70) | func TestGetErrorCode(t *testing.T) { FILE: server/apple_notification_server.go type AppleNotificationServer (line 24) | type AppleNotificationServer struct method setupProxySettings (line 43) | func (me *AppleNotificationServer) setupProxySettings(appleCert *tls.C... method Initialize (line 77) | func (me *AppleNotificationServer) Initialize() error { method SendNotification (line 119) | func (me *AppleNotificationServer) SendNotification(msg *PushNotificat... method SendNotificationWithRetry (line 293) | func (me *AppleNotificationServer) SendNotificationWithRetry(notificat... function NewAppleNotificationServer (line 33) | func NewAppleNotificationServer(settings ApplePushSettings, logger *mlog... FILE: server/config_push_proxy.go type ConfigPushProxy (line 14) | type ConfigPushProxy struct type ApplePushSettings (line 30) | type ApplePushSettings struct type AndroidPushSettings (line 41) | type AndroidPushSettings struct function FindConfigFile (line 49) | func FindConfigFile(fileName string) string { function LoadConfig (line 64) | func LoadConfig(fileName string) (*ConfigPushProxy, error) { FILE: server/logger.go function NewLogger (line 11) | func NewLogger(cfg *ConfigPushProxy) (*mlog.Logger, error) { function buildLogConfig (line 28) | func buildLogConfig(cfg *ConfigPushProxy) mlog.LoggerConfiguration { function buildConsoleLogConfig (line 42) | func buildConsoleLogConfig(format string) mlog.TargetCfg { function buildLogFileConfig (line 53) | func buildLogFileConfig(filename string, format string) mlog.TargetCfg { FILE: server/logger_test.go function TestNewMlogLogger (line 13) | func TestNewMlogLogger(t *testing.T) { FILE: server/metrics.go constant metricNotificationsTotalName (line 11) | metricNotificationsTotalName = "service_notifications_total" constant metricSuccessName (line 12) | metricSuccessName = "service_success_total" constant metricSuccessWithAckName (line 13) | metricSuccessWithAckName = "service_success_with_ack_total" constant metricDeliveredName (line 14) | metricDeliveredName = "service_delivered_total" constant metricFailureName (line 15) | metricFailureName = "service_failure_total" constant metricFailureWithReasonName (line 16) | metricFailureWithReasonName = "service_failure_with_reason_total" constant metricRemovalName (line 17) | metricRemovalName = "service_removal_total" constant metricBadRequestName (line 18) | metricBadRequestName = "service_bad_request_total" constant metricFCMResponseName (line 19) | metricFCMResponseName = "service_fcm_request_duration_seconds" constant metricAPNSResponseName (line 20) | metricAPNSResponseName = "service_apns_request_duration_seconds" constant metricServiceResponseName (line 21) | metricServiceResponseName = "service_request_duration_seconds" constant metricNotificationResponseName (line 22) | metricNotificationResponseName = "service_notification_duration_seconds" function NewPrometheusHandler (line 26) | func NewPrometheusHandler() http.Handler { type metrics (line 30) | type metrics struct method shutdown (line 117) | func (m *metrics) shutdown() { method incrementNotificationTotal (line 137) | func (m *metrics) incrementNotificationTotal(platform, pushType string) { method incrementSuccess (line 141) | func (m *metrics) incrementSuccess(platform, pushType string) { method incrementSuccessWithAck (line 145) | func (m *metrics) incrementSuccessWithAck(platform, pushType string) { method incrementDelivered (line 150) | func (m *metrics) incrementDelivered(platform, pushType string) { method incrementFailure (line 154) | func (m *metrics) incrementFailure(platform, pushType, reason string) { method incrementRemoval (line 161) | func (m *metrics) incrementRemoval(platform, pushType, reason string) { method incrementBadRequest (line 166) | func (m *metrics) incrementBadRequest() { method observeAPNSResponse (line 170) | func (m *metrics) observeAPNSResponse(dur float64) { method observeFCMResponse (line 174) | func (m *metrics) observeFCMResponse(dur float64) { method observeServiceResponse (line 178) | func (m *metrics) observeServiceResponse(dur float64) { method observerNotificationResponse (line 182) | func (m *metrics) observerNotificationResponse(platform string, dur fl... function newMetrics (line 46) | func newMetrics() *metrics { FILE: server/metrics_test.go function TestMetricDisabled (line 16) | func TestMetricDisabled(t *testing.T) { function TestMetricEnabled (line 66) | func TestMetricEnabled(t *testing.T) { FILE: server/push_notification.go constant PushNotifyApple (line 7) | PushNotifyApple = "apple" constant PushNotifyAndroid (line 8) | PushNotifyAndroid = "android" constant PushTypeMessage (line 10) | PushTypeMessage = "message" constant PushTypeClear (line 11) | PushTypeClear = "clear" constant PushTypeUpdateBadge (line 12) | PushTypeUpdateBadge = "update_badge" constant PushTypeSession (line 13) | PushTypeSession = "session" constant PushTypeTest (line 14) | PushTypeTest = "test" constant PushMessageV2 (line 16) | PushMessageV2 = "v2" constant PushSoundNone (line 18) | PushSoundNone = "none" type PushNotificationAck (line 21) | type PushNotificationAck struct type PushNotification (line 27) | type PushNotification struct FILE: server/push_response.go constant PUSH_STATUS (line 12) | PUSH_STATUS = "status" constant PUSH_STATUS_OK (line 13) | PUSH_STATUS_OK = "OK" constant PUSH_STATUS_FAIL (line 14) | PUSH_STATUS_FAIL = "FAIL" constant PUSH_STATUS_REMOVE (line 15) | PUSH_STATUS_REMOVE = "REMOVE" constant PUSH_STATUS_ERROR_MSG (line 16) | PUSH_STATUS_ERROR_MSG = "error" type PushResponse (line 19) | type PushResponse function NewOkPushResponse (line 21) | func NewOkPushResponse() PushResponse { function NewRemovePushResponse (line 27) | func NewRemovePushResponse() PushResponse { function NewErrorPushResponse (line 33) | func NewErrorPushResponse(message string) PushResponse { function PushResponseFromJson (line 40) | func PushResponseFromJson(data io.Reader) PushResponse { FILE: server/server.go constant HEADER_FORWARDED (line 27) | HEADER_FORWARDED = "X-Forwarded-For" constant HEADER_REAL_IP (line 28) | HEADER_REAL_IP = "X-Real-IP" constant WAIT_FOR_SERVER_SHUTDOWN (line 29) | WAIT_FOR_SERVER_SHUTDOWN = time.Second * 5 constant CONNECTION_TIMEOUT_SECONDS (line 30) | CONNECTION_TIMEOUT_SECONDS = 60 constant MAX_RETRIES (line 31) | MAX_RETRIES = 3 type NotificationServer (line 34) | type NotificationServer interface type Server (line 40) | type Server struct method Start (line 58) | func (s *Server) Start() { method Stop (line 138) | func (s *Server) Stop() { method version (line 156) | func (s *Server) version(w http.ResponseWriter, _ *http.Request) { method responseTimeMiddleware (line 168) | func (s *Server) responseTimeMiddleware(f func(w http.ResponseWriter, ... method handleSendNotification (line 178) | func (s *Server) handleSendNotification(w http.ResponseWriter, r *http... method handleAckNotification (line 263) | func (s *Server) handleAckNotification(w http.ResponseWriter, r *http.... method getIpAddress (line 330) | func (s *Server) getIpAddress(r *http.Request) string { function New (line 49) | func New(cfg *ConfigPushProxy, logger *mlog.Logger) *Server { function root (line 152) | func root(w http.ResponseWriter, r *http.Request) { function getProxyServer (line 348) | func getProxyServer() string { FILE: server/server_test.go function TestBasicServer (line 21) | func TestBasicServer(t *testing.T) { function TestAndroidSend (line 86) | func TestAndroidSend(t *testing.T) { function TestServer_version (line 124) | func TestServer_version(t *testing.T) {