apns_kit 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/apns_kit.rb +28 -3
- data/lib/apns_kit/client.rb +1 -1
- data/lib/apns_kit/connection.rb +10 -10
- data/lib/apns_kit/request.rb +3 -3
- data/lib/apns_kit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2eca2c85bbb5fd1f118954f2f84268617eb448a8
|
4
|
+
data.tar.gz: 4f3b323f129aa24d9e08b6728855b28d6cfd785f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aeb77a312ffae634dd3d9999cade4c3965aa8319ff72cd4e4d0a63aa696128f0735d7da8064da602375deeb0a25a3b6dbc7f8fee182436d3d21cdf99c83c326a
|
7
|
+
data.tar.gz: 8158857321754b9683a473ab2c591a41b475b928b4ed5c75796416cbc162b5caa4b4ad734ccbd897f7ba7bb890348e3da8e917a3bdc6631b101be959692f08a0
|
data/lib/apns_kit.rb
CHANGED
@@ -10,6 +10,8 @@ require "logger"
|
|
10
10
|
module ApnsKit
|
11
11
|
class << self
|
12
12
|
|
13
|
+
PREFIX = "ApnsKit".freeze
|
14
|
+
|
13
15
|
def logger
|
14
16
|
return @logger if defined?(@logger)
|
15
17
|
@logger = rails_logger || default_logger
|
@@ -19,12 +21,29 @@ module ApnsKit
|
|
19
21
|
@logger = logger
|
20
22
|
end
|
21
23
|
|
24
|
+
def log_debug(message)
|
25
|
+
logger.debug(format_message(message)) if logger.debug?
|
26
|
+
end
|
27
|
+
|
28
|
+
def log_error(message)
|
29
|
+
logger.error(format_message(message)) if logger.error?
|
30
|
+
end
|
31
|
+
|
32
|
+
def log_fatal(message)
|
33
|
+
logger.fatal(format_message(message)) if logger.fatal?
|
34
|
+
end
|
35
|
+
|
36
|
+
def log_info(message)
|
37
|
+
logger.info(format_message(message)) if logger.info?
|
38
|
+
end
|
39
|
+
|
40
|
+
def log_warn(message)
|
41
|
+
logger.warn(format_message(message)) if logger.warn?
|
42
|
+
end
|
43
|
+
|
22
44
|
def default_logger
|
23
45
|
logger = Logger.new($stdout)
|
24
46
|
logger.level = Logger::INFO
|
25
|
-
logger.formatter = proc do |severity, datetime, progname, msg|
|
26
|
-
"[#{datetime} ##{$$}] #{severity} -- : APNs Kit | #{msg}\n"
|
27
|
-
end
|
28
47
|
logger
|
29
48
|
end
|
30
49
|
|
@@ -32,5 +51,11 @@ module ApnsKit
|
|
32
51
|
defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger
|
33
52
|
end
|
34
53
|
|
54
|
+
private
|
55
|
+
|
56
|
+
def format_message(message)
|
57
|
+
format("%s | %s".freeze, PREFIX, message)
|
58
|
+
end
|
59
|
+
|
35
60
|
end
|
36
61
|
end
|
data/lib/apns_kit/client.rb
CHANGED
@@ -32,7 +32,7 @@ module ApnsKit
|
|
32
32
|
@connection_pool = @pool_size.times.map { ApnsKit::Connection.new(uri, certificate) }.freeze
|
33
33
|
@default_topic = certificate.app_bundle_id
|
34
34
|
if heartbeat_interval > 0
|
35
|
-
ApnsKit.
|
35
|
+
ApnsKit.log_info("Setting up heartbeat checker")
|
36
36
|
@heartbeat_checker = Concurrent::TimerTask.new { @connection_pool.each(&:ping) }
|
37
37
|
@heartbeat_checker.execution_interval = heartbeat_interval
|
38
38
|
@heartbeat_checker.execute
|
data/lib/apns_kit/connection.rb
CHANGED
@@ -32,7 +32,7 @@ module ApnsKit
|
|
32
32
|
|
33
33
|
def ping
|
34
34
|
if @http
|
35
|
-
ApnsKit.
|
35
|
+
ApnsKit.log_debug("Sending ping")
|
36
36
|
@http.ping("whatever")
|
37
37
|
end
|
38
38
|
end
|
@@ -41,7 +41,7 @@ module ApnsKit
|
|
41
41
|
|
42
42
|
def setup_connection!
|
43
43
|
@mutex.synchronize do
|
44
|
-
ApnsKit.
|
44
|
+
ApnsKit.log_info("Setting up connection")
|
45
45
|
ctx = @certificate.ssl_context
|
46
46
|
tcp = TCPSocket.new(@uri.host, @uri.port)
|
47
47
|
|
@@ -55,13 +55,13 @@ module ApnsKit
|
|
55
55
|
|
56
56
|
@http = HTTP2::Client.new
|
57
57
|
@http.on(:frame) do |bytes|
|
58
|
-
ApnsKit.
|
58
|
+
ApnsKit.log_debug("Sending bytes: #{bytes.unpack("H*").first}")
|
59
59
|
@socket.print bytes
|
60
60
|
@socket.flush
|
61
61
|
end
|
62
62
|
|
63
63
|
ping
|
64
|
-
ApnsKit.
|
64
|
+
ApnsKit.log_info("Connection established")
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
@@ -72,17 +72,17 @@ module ApnsKit
|
|
72
72
|
begin
|
73
73
|
if @socket.closed?
|
74
74
|
close_connection!
|
75
|
-
ApnsKit.
|
75
|
+
ApnsKit.log_warn("Socket was closed")
|
76
76
|
break
|
77
77
|
elsif !@socket.eof?
|
78
78
|
data = @socket.readpartial(1024)
|
79
|
-
ApnsKit.
|
79
|
+
ApnsKit.log_debug("Received bytes: #{data.unpack("H*").first}")
|
80
80
|
@http << data
|
81
81
|
end
|
82
82
|
rescue => e
|
83
83
|
close_connection!
|
84
|
-
ApnsKit.
|
85
|
-
e.backtrace.each { |l| ApnsKit.
|
84
|
+
ApnsKit.log_warn("#{e.class} exception: #{e.message} - closing socket")
|
85
|
+
e.backtrace.each { |l| ApnsKit.log_debug(l) }
|
86
86
|
raise e
|
87
87
|
end
|
88
88
|
end
|
@@ -98,11 +98,11 @@ module ApnsKit
|
|
98
98
|
|
99
99
|
def close_connection!
|
100
100
|
@mutex.synchronize do
|
101
|
-
ApnsKit.
|
101
|
+
ApnsKit.log_info("Closing connection")
|
102
102
|
@socket.close if @socket
|
103
103
|
@connected = false
|
104
104
|
@http = nil
|
105
|
-
ApnsKit.
|
105
|
+
ApnsKit.log_info("Connection closed")
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
data/lib/apns_kit/request.rb
CHANGED
@@ -26,7 +26,7 @@ module ApnsKit
|
|
26
26
|
def perform_nonblocking_send(connection)
|
27
27
|
connection.open
|
28
28
|
|
29
|
-
ApnsKit.
|
29
|
+
ApnsKit.log_info("Sending #{@notifications.size} notifications")
|
30
30
|
@notifications.each do |notification|
|
31
31
|
stream = connection.http.new_stream
|
32
32
|
|
@@ -36,7 +36,7 @@ module ApnsKit
|
|
36
36
|
stream.on(:headers) do |headers|
|
37
37
|
headers = Hash[*headers.flatten]
|
38
38
|
response.headers = headers
|
39
|
-
ApnsKit.
|
39
|
+
ApnsKit.log_debug("Received headers #{headers}")
|
40
40
|
if response.success?
|
41
41
|
yield response if block_given?
|
42
42
|
end
|
@@ -45,7 +45,7 @@ module ApnsKit
|
|
45
45
|
stream.on(:data) do |data|
|
46
46
|
response.raw_body ||= ""
|
47
47
|
response.raw_body << data
|
48
|
-
ApnsKit.
|
48
|
+
ApnsKit.log_debug("Received data #{data}")
|
49
49
|
yield response if block_given?
|
50
50
|
end
|
51
51
|
|
data/lib/apns_kit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apns_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Recalis
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http-2
|