Completed
Branch 1.1 (a769bf)
by David
06:33 queued 03:10
created
lib/GitHub/Receiver/Activity/Events.php 1 patch
Indentation   +124 added lines, -124 removed lines patch added patch discarded remove patch
@@ -11,137 +11,137 @@
 block discarded – undo
11 11
 class Events extends AbstractActivity
12 12
 {
13 13
 
14
-    /**
15
-     * List public events
16
-     *
17
-     * @link https://developer.github.com/v3/activity/events/#list-public-events
18
-     * @return array
19
-     */
20
-    public function listPublicEvents(): array
21
-    {
22
-        return $this->getApi()->request('/events');
23
-    }
14
+	/**
15
+	 * List public events
16
+	 *
17
+	 * @link https://developer.github.com/v3/activity/events/#list-public-events
18
+	 * @return array
19
+	 */
20
+	public function listPublicEvents(): array
21
+	{
22
+		return $this->getApi()->request('/events');
23
+	}
24 24
 
25
-    /**
26
-     * List repository events
27
-     *
28
-     * @link https://developer.github.com/v3/activity/events/#list-repository-events
29
-     * @return array
30
-     */
31
-    public function listRepositoryEvents(): array
32
-    {
33
-        return $this->getApi()->request($this->getApi()
34
-                                             ->sprintf('/repos/:owner/:repo/events', $this->getActivity()->getOwner(),
35
-                                                 $this->getActivity()->getRepo()));
36
-    }
25
+	/**
26
+	 * List repository events
27
+	 *
28
+	 * @link https://developer.github.com/v3/activity/events/#list-repository-events
29
+	 * @return array
30
+	 */
31
+	public function listRepositoryEvents(): array
32
+	{
33
+		return $this->getApi()->request($this->getApi()
34
+											 ->sprintf('/repos/:owner/:repo/events', $this->getActivity()->getOwner(),
35
+												 $this->getActivity()->getRepo()));
36
+	}
37 37
 
38
-    /**
39
-     * List issue events for a repository
40
-     *
41
-     * @link https://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
42
-     * @return array
43
-     */
44
-    public function listIssueEvents(): array
45
-    {
46
-        return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/issues/events',
47
-            $this->getActivity()->getOwner(), $this->getActivity()->getRepo()));
48
-    }
38
+	/**
39
+	 * List issue events for a repository
40
+	 *
41
+	 * @link https://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
42
+	 * @return array
43
+	 */
44
+	public function listIssueEvents(): array
45
+	{
46
+		return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/issues/events',
47
+			$this->getActivity()->getOwner(), $this->getActivity()->getRepo()));
48
+	}
49 49
 
50
-    /**
51
-     * List public events for a network of repositories
52
-     *
53
-     * @link https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories
54
-     * @return array
55
-     */
56
-    public function listPublicNetworkEvents(): array
57
-    {
58
-        return $this->getApi()->request($this->getApi()->sprintf('/networks/:owner/:repo/events',
59
-            $this->getActivity()->getOwner(), $this->getActivity()->getRepo()));
60
-    }
50
+	/**
51
+	 * List public events for a network of repositories
52
+	 *
53
+	 * @link https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories
54
+	 * @return array
55
+	 */
56
+	public function listPublicNetworkEvents(): array
57
+	{
58
+		return $this->getApi()->request($this->getApi()->sprintf('/networks/:owner/:repo/events',
59
+			$this->getActivity()->getOwner(), $this->getActivity()->getRepo()));
60
+	}
61 61
 
62
-    /**
63
-     * List public events for an organization
64
-     *
65
-     * @link https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization
66
-     *
67
-     * @param string $organization
68
-     *
69
-     * @return array
70
-     */
71
-    public function listPublicOrganizationEvents(string $organization): array
72
-    {
73
-        return $this->getApi()->request($this->getApi()->sprintf('/orgs/:org/events', $organization));
74
-    }
62
+	/**
63
+	 * List public events for an organization
64
+	 *
65
+	 * @link https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization
66
+	 *
67
+	 * @param string $organization
68
+	 *
69
+	 * @return array
70
+	 */
71
+	public function listPublicOrganizationEvents(string $organization): array
72
+	{
73
+		return $this->getApi()->request($this->getApi()->sprintf('/orgs/:org/events', $organization));
74
+	}
75 75
 
76
-    /**
77
-     * List events that a user has received
78
-     *
79
-     * @link https://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received
80
-     *
81
-     * @param string $username
82
-     *
83
-     * @return array
84
-     */
85
-    public function listUserReceiveEvents(string $username): array
86
-    {
87
-        return $this->getApi()->request($this->getApi()->sprintf('/users/:username/received_events', $username));
88
-    }
76
+	/**
77
+	 * List events that a user has received
78
+	 *
79
+	 * @link https://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received
80
+	 *
81
+	 * @param string $username
82
+	 *
83
+	 * @return array
84
+	 */
85
+	public function listUserReceiveEvents(string $username): array
86
+	{
87
+		return $this->getApi()->request($this->getApi()->sprintf('/users/:username/received_events', $username));
88
+	}
89 89
 
90
-    /**
91
-     * List public events that a user has received
92
-     *
93
-     * @link https://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received
94
-     *
95
-     * @param string $username
96
-     *
97
-     * @return array
98
-     */
99
-    public function listPublicUserReceiveEvents(string $username): array
100
-    {
101
-        return $this->getApi()->request($this->getApi()->sprintf('/users/:username/received_events/public', $username));
102
-    }
90
+	/**
91
+	 * List public events that a user has received
92
+	 *
93
+	 * @link https://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received
94
+	 *
95
+	 * @param string $username
96
+	 *
97
+	 * @return array
98
+	 */
99
+	public function listPublicUserReceiveEvents(string $username): array
100
+	{
101
+		return $this->getApi()->request($this->getApi()->sprintf('/users/:username/received_events/public', $username));
102
+	}
103 103
 
104
-    /**
105
-     * List events performed by a user
106
-     *
107
-     * @link https://developer.github.com/v3/activity/events/#list-events-performed-by-a-user
108
-     *
109
-     * @param string $username
110
-     *
111
-     * @return array
112
-     */
113
-    public function listUserPerformedEvents(string $username): array
114
-    {
115
-        return $this->getApi()->request($this->getApi()->sprintf('/users/:username/events', $username));
116
-    }
104
+	/**
105
+	 * List events performed by a user
106
+	 *
107
+	 * @link https://developer.github.com/v3/activity/events/#list-events-performed-by-a-user
108
+	 *
109
+	 * @param string $username
110
+	 *
111
+	 * @return array
112
+	 */
113
+	public function listUserPerformedEvents(string $username): array
114
+	{
115
+		return $this->getApi()->request($this->getApi()->sprintf('/users/:username/events', $username));
116
+	}
117 117
 
118
-    /**
119
-     * List public events performed by a user
120
-     *
121
-     * @link https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user
122
-     *
123
-     * @param string $username
124
-     *
125
-     * @return array
126
-     */
127
-    public function listPublicUserPerformedEvents(string $username): array
128
-    {
129
-        return $this->getApi()->request($this->getApi()->sprintf('/users/:username/events/public', $username));
130
-    }
118
+	/**
119
+	 * List public events performed by a user
120
+	 *
121
+	 * @link https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user
122
+	 *
123
+	 * @param string $username
124
+	 *
125
+	 * @return array
126
+	 */
127
+	public function listPublicUserPerformedEvents(string $username): array
128
+	{
129
+		return $this->getApi()->request($this->getApi()->sprintf('/users/:username/events/public', $username));
130
+	}
131 131
 
132
-    /**
133
-     * List events for an organization
134
-     *
135
-     * @link https://developer.github.com/v3/activity/events/#list-events-for-an-organization
136
-     *
137
-     * @param string $username
138
-     * @param string $organization
139
-     *
140
-     * @return array
141
-     */
142
-    public function listOrganizationEvents(string $username, string $organization): array
143
-    {
144
-        return $this->getApi()->request($this->getApi()
145
-                                             ->sprintf('/users/:username/events/orgs/:org', $username, $organization));
146
-    }
132
+	/**
133
+	 * List events for an organization
134
+	 *
135
+	 * @link https://developer.github.com/v3/activity/events/#list-events-for-an-organization
136
+	 *
137
+	 * @param string $username
138
+	 * @param string $organization
139
+	 *
140
+	 * @return array
141
+	 */
142
+	public function listOrganizationEvents(string $username, string $organization): array
143
+	{
144
+		return $this->getApi()->request($this->getApi()
145
+											 ->sprintf('/users/:username/events/orgs/:org', $username, $organization));
146
+	}
147 147
 } 
148 148
\ No newline at end of file
Please login to merge, or discard this patch.
lib/GitHub/Receiver/Activity/Notifications.php 1 patch
Indentation   +153 added lines, -153 removed lines patch added patch discarded remove patch
@@ -14,167 +14,167 @@
 block discarded – undo
14 14
 class Notifications extends AbstractActivity
15 15
 {
16 16
 
17
-    /**
18
-     * List your notifications
19
-     *
20
-     * @link https://developer.github.com/v3/activity/notifications/#list-your-notifications
21
-     *
22
-     * @param bool   $all
23
-     * @param bool   $participating
24
-     * @param string $since
25
-     * @param string $before
26
-     *
27
-     * @return array
28
-     * @throws \Exception
29
-     */
30
-    public function listNotifications(bool $all = false, bool $participating = false, string $since = 'now',
31
-                                      string $before = null): array
32
-    {
33
-        return $this->getApi()->request($this->getApi()->sprintf('/notifications?:args', http_build_query([
34
-            'all'           => $all,
35
-            'participating' => $participating,
36
-            'since'         => (new DateTime($since))->format(DateTime::ATOM),
37
-            'before'        => (new DateTime($before))->format(DateTime::ATOM)
38
-        ])));
39
-    }
17
+	/**
18
+	 * List your notifications
19
+	 *
20
+	 * @link https://developer.github.com/v3/activity/notifications/#list-your-notifications
21
+	 *
22
+	 * @param bool   $all
23
+	 * @param bool   $participating
24
+	 * @param string $since
25
+	 * @param string $before
26
+	 *
27
+	 * @return array
28
+	 * @throws \Exception
29
+	 */
30
+	public function listNotifications(bool $all = false, bool $participating = false, string $since = 'now',
31
+									  string $before = null): array
32
+	{
33
+		return $this->getApi()->request($this->getApi()->sprintf('/notifications?:args', http_build_query([
34
+			'all'           => $all,
35
+			'participating' => $participating,
36
+			'since'         => (new DateTime($since))->format(DateTime::ATOM),
37
+			'before'        => (new DateTime($before))->format(DateTime::ATOM)
38
+		])));
39
+	}
40 40
 
41
-    /**
42
-     * List your notifications in a repository
43
-     *
44
-     * @link https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository
45
-     *
46
-     * @param bool   $all
47
-     * @param bool   $participating
48
-     * @param string $since
49
-     * @param string $before
50
-     *
51
-     * @return array
52
-     * @throws \Exception
53
-     */
54
-    public function listRepositoryNotifications(bool $all = false, bool $participating = false, string $since = 'now',
55
-                                                string $before = null): array
56
-    {
57
-        return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/notifications?:args',
58
-            $this->getActivity()->getOwner(), $this->getActivity()->getRepo(), http_build_query([
59
-                'all'           => $all,
60
-                'participating' => $participating,
61
-                'since'         => (new DateTime($since))->format(DateTime::ATOM),
62
-                'before'        => (new DateTime($before))->format(DateTime::ATOM)
63
-            ])));
64
-    }
41
+	/**
42
+	 * List your notifications in a repository
43
+	 *
44
+	 * @link https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository
45
+	 *
46
+	 * @param bool   $all
47
+	 * @param bool   $participating
48
+	 * @param string $since
49
+	 * @param string $before
50
+	 *
51
+	 * @return array
52
+	 * @throws \Exception
53
+	 */
54
+	public function listRepositoryNotifications(bool $all = false, bool $participating = false, string $since = 'now',
55
+												string $before = null): array
56
+	{
57
+		return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/notifications?:args',
58
+			$this->getActivity()->getOwner(), $this->getActivity()->getRepo(), http_build_query([
59
+				'all'           => $all,
60
+				'participating' => $participating,
61
+				'since'         => (new DateTime($since))->format(DateTime::ATOM),
62
+				'before'        => (new DateTime($before))->format(DateTime::ATOM)
63
+			])));
64
+	}
65 65
 
66
-    /**
67
-     * Mark as read
68
-     *
69
-     * @link https://developer.github.com/v3/activity/notifications/#mark-as-read
70
-     *
71
-     * @param string $lastReadAt
72
-     *
73
-     * @return array
74
-     */
75
-    public function markAsRead(string $lastReadAt = 'now'): array
76
-    {
77
-        return $this->getApi()->request($this->getApi()->sprintf('/notifications?:args',
78
-            http_build_query(['last_read_at' => (new DateTime($lastReadAt))->format(DateTime::ATOM)])),
79
-            Request::METHOD_PUT);
80
-    }
66
+	/**
67
+	 * Mark as read
68
+	 *
69
+	 * @link https://developer.github.com/v3/activity/notifications/#mark-as-read
70
+	 *
71
+	 * @param string $lastReadAt
72
+	 *
73
+	 * @return array
74
+	 */
75
+	public function markAsRead(string $lastReadAt = 'now'): array
76
+	{
77
+		return $this->getApi()->request($this->getApi()->sprintf('/notifications?:args',
78
+			http_build_query(['last_read_at' => (new DateTime($lastReadAt))->format(DateTime::ATOM)])),
79
+			Request::METHOD_PUT);
80
+	}
81 81
 
82
-    /**
83
-     * Mark notifications as read in a repository
84
-     *
85
-     * @link https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository
86
-     *
87
-     * @param string $lastReadAt
88
-     *
89
-     * @return array
90
-     */
91
-    public function markAsReadInRepository(string $lastReadAt = 'now'): array
92
-    {
93
-        return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/notifications?:args',
94
-            $this->getActivity()->getOwner(), $this->getActivity()->getRepo(),
95
-            http_build_query(['last_read_at' => (new DateTime($lastReadAt))->format(DateTime::ATOM)])),
96
-            Request::METHOD_PUT);
97
-    }
82
+	/**
83
+	 * Mark notifications as read in a repository
84
+	 *
85
+	 * @link https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository
86
+	 *
87
+	 * @param string $lastReadAt
88
+	 *
89
+	 * @return array
90
+	 */
91
+	public function markAsReadInRepository(string $lastReadAt = 'now'): array
92
+	{
93
+		return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/notifications?:args',
94
+			$this->getActivity()->getOwner(), $this->getActivity()->getRepo(),
95
+			http_build_query(['last_read_at' => (new DateTime($lastReadAt))->format(DateTime::ATOM)])),
96
+			Request::METHOD_PUT);
97
+	}
98 98
 
99
-    /**
100
-     * View a single thread
101
-     *
102
-     * @link https://developer.github.com/v3/activity/notifications/#view-a-single-thread
103
-     *
104
-     * @param int $id
105
-     *
106
-     * @return array
107
-     */
108
-    public function viewThread(int $id): array
109
-    {
110
-        return $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id', (string)$id));
111
-    }
99
+	/**
100
+	 * View a single thread
101
+	 *
102
+	 * @link https://developer.github.com/v3/activity/notifications/#view-a-single-thread
103
+	 *
104
+	 * @param int $id
105
+	 *
106
+	 * @return array
107
+	 */
108
+	public function viewThread(int $id): array
109
+	{
110
+		return $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id', (string)$id));
111
+	}
112 112
 
113
-    /**
114
-     * Mark a thread as read
115
-     *
116
-     * @link https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read
117
-     *
118
-     * @param int $id
119
-     *
120
-     * @return array
121
-     */
122
-    public function markThreadAsRead(int $id): array
123
-    {
124
-        return $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id', (string)$id),
125
-            Request::METHOD_PATCH);
126
-    }
113
+	/**
114
+	 * Mark a thread as read
115
+	 *
116
+	 * @link https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read
117
+	 *
118
+	 * @param int $id
119
+	 *
120
+	 * @return array
121
+	 */
122
+	public function markThreadAsRead(int $id): array
123
+	{
124
+		return $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id', (string)$id),
125
+			Request::METHOD_PATCH);
126
+	}
127 127
 
128
-    /**
129
-     * Get a Thread Subscription
130
-     *
131
-     * @link https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription
132
-     *
133
-     * @param int $id
134
-     *
135
-     * @return array
136
-     */
137
-    public function getThreadSubscription(int $id): array
138
-    {
139
-        return $this->getApi()->request($this->getApi()
140
-                                             ->sprintf('/notifications/threads/:id/subscription', (string)$id));
141
-    }
128
+	/**
129
+	 * Get a Thread Subscription
130
+	 *
131
+	 * @link https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription
132
+	 *
133
+	 * @param int $id
134
+	 *
135
+	 * @return array
136
+	 */
137
+	public function getThreadSubscription(int $id): array
138
+	{
139
+		return $this->getApi()->request($this->getApi()
140
+											 ->sprintf('/notifications/threads/:id/subscription', (string)$id));
141
+	}
142 142
 
143
-    /**
144
-     * Set a Thread Subscription
145
-     *
146
-     * @link https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription
147
-     *
148
-     * @param int  $id
149
-     * @param bool $subscribed
150
-     * @param bool $ignored
151
-     *
152
-     * @return array
153
-     */
154
-    public function setThreadSubscription(int $id, bool $subscribed = false, bool $ignored = false): array
155
-    {
156
-        return $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id/subscription?:args', $id,
157
-            http_build_query(['subscribed' => $subscribed, 'ignored' => $ignored])), Request::METHOD_PUT);
158
-    }
143
+	/**
144
+	 * Set a Thread Subscription
145
+	 *
146
+	 * @link https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription
147
+	 *
148
+	 * @param int  $id
149
+	 * @param bool $subscribed
150
+	 * @param bool $ignored
151
+	 *
152
+	 * @return array
153
+	 */
154
+	public function setThreadSubscription(int $id, bool $subscribed = false, bool $ignored = false): array
155
+	{
156
+		return $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id/subscription?:args', $id,
157
+			http_build_query(['subscribed' => $subscribed, 'ignored' => $ignored])), Request::METHOD_PUT);
158
+	}
159 159
 
160
-    /**
161
-     * Delete a Thread Subscription
162
-     *
163
-     * @link https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription
164
-     *
165
-     * @param int $id
166
-     *
167
-     * @return bool
168
-     */
169
-    public function deleteThreadSubscription(int $id): bool
170
-    {
171
-        $this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id/subscription', (string)$id),
172
-            Request::METHOD_DELETE);
160
+	/**
161
+	 * Delete a Thread Subscription
162
+	 *
163
+	 * @link https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription
164
+	 *
165
+	 * @param int $id
166
+	 *
167
+	 * @return bool
168
+	 */
169
+	public function deleteThreadSubscription(int $id): bool
170
+	{
171
+		$this->getApi()->request($this->getApi()->sprintf('/notifications/threads/:id/subscription', (string)$id),
172
+			Request::METHOD_DELETE);
173 173
 
174
-        if ($this->getApi()->getHeaders()['Status'] == '204 No Content') {
175
-            return true;
176
-        }
174
+		if ($this->getApi()->getHeaders()['Status'] == '204 No Content') {
175
+			return true;
176
+		}
177 177
 
178
-        return false;
179
-    }
178
+		return false;
179
+	}
180 180
 }
181 181
\ No newline at end of file
Please login to merge, or discard this patch.
lib/GitHub/Event/Payload.php 1 patch
Indentation   +200 added lines, -200 removed lines patch added patch discarded remove patch
@@ -14,204 +14,204 @@
 block discarded – undo
14 14
  */
15 15
 class Payload implements EventInterface
16 16
 {
17
-    /** @var WebHook */
18
-    protected $webHook;
19
-
20
-    /** @var null|string */
21
-    protected $secret = null;
22
-
23
-    /** @var string|resource */
24
-    protected $rawData;
25
-
26
-    /** @var mixed */
27
-    protected $parsedData;
28
-
29
-    /** @var ServerBag */
30
-    protected $serverBag;
31
-
32
-    /**
33
-     * Constructor, pass a WebHook object
34
-     *
35
-     * @param WebHook $webHook
36
-     */
37
-    public function __construct(WebHook $webHook)
38
-    {
39
-        $this->setWebHook($webHook);
40
-        $request = $webHook->getRequest();
41
-        $this->setRawData($request->getContent());
42
-        $this->serverBag = $request->server;
43
-    }
44
-
45
-    /**
46
-     * Get webHook
47
-     *
48
-     * @return null|WebHook
49
-     */
50
-    public function getWebHook()
51
-    {
52
-        return $this->webHook;
53
-    }
54
-
55
-    /**
56
-     * Set webHook
57
-     *
58
-     * @param mixed $webHook
59
-     *
60
-     * @return Payload
61
-     */
62
-    public function setWebHook($webHook): Payload
63
-    {
64
-        $this->webHook = $webHook;
65
-
66
-        return $this;
67
-    }
68
-
69
-    /**
70
-     * Set secret, encode this secret with Hmac, SHA1 method
71
-     *
72
-     * @param string $secret
73
-     *
74
-     * @return Payload
75
-     */
76
-    public function setSecret(string $secret): Payload
77
-    {
78
-        $this->secret = hash_hmac('sha1', $this->rawData, $secret);
79
-
80
-        return $this;
81
-    }
82
-
83
-    /**
84
-     * Get secret
85
-     *
86
-     * @return null|string
87
-     */
88
-    public function getSecret()
89
-    {
90
-        return $this->secret;
91
-    }
92
-
93
-    /**
94
-     * Get rawData
95
-     *
96
-     * @return resource|string
97
-     */
98
-    public function getRawData()
99
-    {
100
-        return $this->rawData;
101
-    }
102
-
103
-    /**
104
-     * Set rawData
105
-     *
106
-     * @param resource|string $rawData
107
-     *
108
-     * @return Payload
109
-     */
110
-    public function setRawData($rawData): Payload
111
-    {
112
-        $this->rawData = $rawData;
113
-
114
-        return $this;
115
-    }
116
-
117
-    /**
118
-     * Get parsedData
119
-     *
120
-     * @return mixed
121
-     */
122
-    public function getData()
123
-    {
124
-        return $this->parsedData;
125
-    }
126
-
127
-    /**
128
-     * Set parsedData
129
-     *
130
-     * @param mixed $parsedData
131
-     *
132
-     * @return Payload
133
-     */
134
-    protected function setParsedData($parsedData): Payload
135
-    {
136
-        $data = json_decode($parsedData);
137
-        if (JSON_ERROR_NONE === json_last_error()) {
138
-            $this->parsedData = $data;
139
-        }
140
-
141
-        return $this;
142
-    }
143
-
144
-    /**
145
-     * Debugger
146
-     *
147
-     * @return array
148
-     */
149
-    public function __debugInfo(): array
150
-    {
151
-        return [
152
-            'ramData'     => (array)$this->getRawData(),
153
-            'jsonEncoded' => json_decode($this->getRawData())
154
-        ];
155
-    }
156
-
157
-    /**
158
-     * Parse raw data
159
-     *
160
-     * @return Payload
161
-     * @throws BadSignatureException
162
-     * @throws \Exception
163
-     */
164
-    public function parse(): Payload
165
-    {
166
-        /** Check signature from header */
167
-        if (!$this->_checkSignature()) {
168
-            throw new BadSignatureException('Hook secret does not match.');
169
-        }
170
-
171
-        /** Get data from different locations according to content-type */
172
-        switch ($this->serverBag->get('CONTENT_TYPE')) {
173
-            case 'application/json':
174
-                $data = $this->getRawData();
175
-                break;
176
-
177
-            case 'application/x-www-form-urlencoded':
178
-                $data = $_POST['payload'];
179
-                break;
180
-
181
-            default:
182
-                throw new Exception('Unsupported content type: "' . $this->serverBag->get('CONTENT_TYPE') . '"');
183
-        }
184
-        $this->setParsedData($data);
185
-
186
-        return $this;
187
-    }
188
-
189
-    /**
190
-     * Check X-Hub-Signature
191
-     *
192
-     * @throws BadSignatureException
193
-     * @return bool
194
-     */
195
-    private function _checkSignature(): bool
196
-    {
197
-        $secret           = $this->getSecret();
198
-        $httpHubSignature = $this->serverBag->get('HTTP_X_HUB_SIGNATURE');
199
-
200
-        if (null !== $secret) {
201
-            if ($httpHubSignature) {
202
-                /**
203
-                 * Split signature into algorithm and hash
204
-                 *
205
-                 * @link http://isometriks.com/verify-github-webhooks-with-php
206
-                 */
207
-                list(, $hash) = explode('=', $httpHubSignature, 2);
208
-
209
-                return $secret == $hash;
210
-            }
211
-
212
-            throw new BadSignatureException('HTTP header "X-Hub-Signature" is missing.');
213
-        }
214
-
215
-        return true;
216
-    }
17
+	/** @var WebHook */
18
+	protected $webHook;
19
+
20
+	/** @var null|string */
21
+	protected $secret = null;
22
+
23
+	/** @var string|resource */
24
+	protected $rawData;
25
+
26
+	/** @var mixed */
27
+	protected $parsedData;
28
+
29
+	/** @var ServerBag */
30
+	protected $serverBag;
31
+
32
+	/**
33
+	 * Constructor, pass a WebHook object
34
+	 *
35
+	 * @param WebHook $webHook
36
+	 */
37
+	public function __construct(WebHook $webHook)
38
+	{
39
+		$this->setWebHook($webHook);
40
+		$request = $webHook->getRequest();
41
+		$this->setRawData($request->getContent());
42
+		$this->serverBag = $request->server;
43
+	}
44
+
45
+	/**
46
+	 * Get webHook
47
+	 *
48
+	 * @return null|WebHook
49
+	 */
50
+	public function getWebHook()
51
+	{
52
+		return $this->webHook;
53
+	}
54
+
55
+	/**
56
+	 * Set webHook
57
+	 *
58
+	 * @param mixed $webHook
59
+	 *
60
+	 * @return Payload
61
+	 */
62
+	public function setWebHook($webHook): Payload
63
+	{
64
+		$this->webHook = $webHook;
65
+
66
+		return $this;
67
+	}
68
+
69
+	/**
70
+	 * Set secret, encode this secret with Hmac, SHA1 method
71
+	 *
72
+	 * @param string $secret
73
+	 *
74
+	 * @return Payload
75
+	 */
76
+	public function setSecret(string $secret): Payload
77
+	{
78
+		$this->secret = hash_hmac('sha1', $this->rawData, $secret);
79
+
80
+		return $this;
81
+	}
82
+
83
+	/**
84
+	 * Get secret
85
+	 *
86
+	 * @return null|string
87
+	 */
88
+	public function getSecret()
89
+	{
90
+		return $this->secret;
91
+	}
92
+
93
+	/**
94
+	 * Get rawData
95
+	 *
96
+	 * @return resource|string
97
+	 */
98
+	public function getRawData()
99
+	{
100
+		return $this->rawData;
101
+	}
102
+
103
+	/**
104
+	 * Set rawData
105
+	 *
106
+	 * @param resource|string $rawData
107
+	 *
108
+	 * @return Payload
109
+	 */
110
+	public function setRawData($rawData): Payload
111
+	{
112
+		$this->rawData = $rawData;
113
+
114
+		return $this;
115
+	}
116
+
117
+	/**
118
+	 * Get parsedData
119
+	 *
120
+	 * @return mixed
121
+	 */
122
+	public function getData()
123
+	{
124
+		return $this->parsedData;
125
+	}
126
+
127
+	/**
128
+	 * Set parsedData
129
+	 *
130
+	 * @param mixed $parsedData
131
+	 *
132
+	 * @return Payload
133
+	 */
134
+	protected function setParsedData($parsedData): Payload
135
+	{
136
+		$data = json_decode($parsedData);
137
+		if (JSON_ERROR_NONE === json_last_error()) {
138
+			$this->parsedData = $data;
139
+		}
140
+
141
+		return $this;
142
+	}
143
+
144
+	/**
145
+	 * Debugger
146
+	 *
147
+	 * @return array
148
+	 */
149
+	public function __debugInfo(): array
150
+	{
151
+		return [
152
+			'ramData'     => (array)$this->getRawData(),
153
+			'jsonEncoded' => json_decode($this->getRawData())
154
+		];
155
+	}
156
+
157
+	/**
158
+	 * Parse raw data
159
+	 *
160
+	 * @return Payload
161
+	 * @throws BadSignatureException
162
+	 * @throws \Exception
163
+	 */
164
+	public function parse(): Payload
165
+	{
166
+		/** Check signature from header */
167
+		if (!$this->_checkSignature()) {
168
+			throw new BadSignatureException('Hook secret does not match.');
169
+		}
170
+
171
+		/** Get data from different locations according to content-type */
172
+		switch ($this->serverBag->get('CONTENT_TYPE')) {
173
+			case 'application/json':
174
+				$data = $this->getRawData();
175
+				break;
176
+
177
+			case 'application/x-www-form-urlencoded':
178
+				$data = $_POST['payload'];
179
+				break;
180
+
181
+			default:
182
+				throw new Exception('Unsupported content type: "' . $this->serverBag->get('CONTENT_TYPE') . '"');
183
+		}
184
+		$this->setParsedData($data);
185
+
186
+		return $this;
187
+	}
188
+
189
+	/**
190
+	 * Check X-Hub-Signature
191
+	 *
192
+	 * @throws BadSignatureException
193
+	 * @return bool
194
+	 */
195
+	private function _checkSignature(): bool
196
+	{
197
+		$secret           = $this->getSecret();
198
+		$httpHubSignature = $this->serverBag->get('HTTP_X_HUB_SIGNATURE');
199
+
200
+		if (null !== $secret) {
201
+			if ($httpHubSignature) {
202
+				/**
203
+				 * Split signature into algorithm and hash
204
+				 *
205
+				 * @link http://isometriks.com/verify-github-webhooks-with-php
206
+				 */
207
+				list(, $hash) = explode('=', $httpHubSignature, 2);
208
+
209
+				return $secret == $hash;
210
+			}
211
+
212
+			throw new BadSignatureException('HTTP header "X-Hub-Signature" is missing.');
213
+		}
214
+
215
+		return true;
216
+	}
217 217
 }
218 218
\ No newline at end of file
Please login to merge, or discard this patch.
tests/PaginationTest.php 1 patch
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -14,38 +14,38 @@
 block discarded – undo
14 14
 class PaginationTest extends AbstractClientTest
15 15
 {
16 16
 
17
-    /** @var Pagination */
18
-    protected $pagination;
19
-
20
-    public function setUp()
21
-    {
22
-        $this->pagination = new Pagination();
23
-        $this->client->setPagination($this->pagination);
24
-    }
25
-
26
-    public function testInstanceOf()
27
-    {
28
-        self::assertInstanceOf(Pagination::class, $this->pagination);
29
-    }
30
-
31
-    public function testPage()
32
-    {
33
-        $this->pagination->setLimit(10);
34
-        $this->pagination->setPage(2);
35
-        self::assertEquals(2, $this->pagination->getPage());
36
-
37
-        $activity = $this->client->getReceiver(Client::ACTIVITY);
38
-        $events   = $activity->getReceiver(Activity::EVENTS);
39
-        self::assertCount(10, $events->listPublicEvents());
40
-    }
41
-
42
-    public function testLimit()
43
-    {
44
-        $this->pagination->setLimit(10);
45
-        self::assertEquals(10, $this->pagination->getLimit());
46
-
47
-        $activity = $this->client->getReceiver(Client::ACTIVITY);
48
-        $events   = $activity->getReceiver(Activity::EVENTS);
49
-        self::assertCount(10, $events->listPublicEvents());
50
-    }
17
+	/** @var Pagination */
18
+	protected $pagination;
19
+
20
+	public function setUp()
21
+	{
22
+		$this->pagination = new Pagination();
23
+		$this->client->setPagination($this->pagination);
24
+	}
25
+
26
+	public function testInstanceOf()
27
+	{
28
+		self::assertInstanceOf(Pagination::class, $this->pagination);
29
+	}
30
+
31
+	public function testPage()
32
+	{
33
+		$this->pagination->setLimit(10);
34
+		$this->pagination->setPage(2);
35
+		self::assertEquals(2, $this->pagination->getPage());
36
+
37
+		$activity = $this->client->getReceiver(Client::ACTIVITY);
38
+		$events   = $activity->getReceiver(Activity::EVENTS);
39
+		self::assertCount(10, $events->listPublicEvents());
40
+	}
41
+
42
+	public function testLimit()
43
+	{
44
+		$this->pagination->setLimit(10);
45
+		self::assertEquals(10, $this->pagination->getLimit());
46
+
47
+		$activity = $this->client->getReceiver(Client::ACTIVITY);
48
+		$events   = $activity->getReceiver(Activity::EVENTS);
49
+		self::assertCount(10, $events->listPublicEvents());
50
+	}
51 51
 }
52 52
\ No newline at end of file
Please login to merge, or discard this patch.
lib/GitHub/Pagination.php 1 patch
Indentation   +65 added lines, -65 removed lines patch added patch discarded remove patch
@@ -12,77 +12,77 @@
 block discarded – undo
12 12
 class Pagination
13 13
 {
14 14
 
15
-    /**
16
-     * Specify further pages.
17
-     *
18
-     * @var int|null
19
-     */
20
-    protected $page = null;
15
+	/**
16
+	 * Specify further pages.
17
+	 *
18
+	 * @var int|null
19
+	 */
20
+	protected $page = null;
21 21
 
22
-    /**
23
-     * Set a custom page size up to 100.
24
-     *
25
-     * @var int|null
26
-     */
27
-    protected $limit = null;
22
+	/**
23
+	 * Set a custom page size up to 100.
24
+	 *
25
+	 * @var int|null
26
+	 */
27
+	protected $limit = null;
28 28
 
29
-    /**
30
-     * Pagination constructor.
31
-     *
32
-     * @param int|null $page
33
-     * @param int|null $limit
34
-     */
35
-    public function __construct(int $page = null, int $limit = null)
36
-    {
37
-        $this->page  = $page;
38
-        $this->limit = $limit;
39
-    }
29
+	/**
30
+	 * Pagination constructor.
31
+	 *
32
+	 * @param int|null $page
33
+	 * @param int|null $limit
34
+	 */
35
+	public function __construct(int $page = null, int $limit = null)
36
+	{
37
+		$this->page  = $page;
38
+		$this->limit = $limit;
39
+	}
40 40
 
41
-    /**
42
-     * Get page
43
-     *
44
-     * @return int|null
45
-     */
46
-    public function getPage()
47
-    {
48
-        return $this->page;
49
-    }
41
+	/**
42
+	 * Get page
43
+	 *
44
+	 * @return int|null
45
+	 */
46
+	public function getPage()
47
+	{
48
+		return $this->page;
49
+	}
50 50
 
51
-    /**
52
-     * Set page
53
-     *
54
-     * @param int|null $page
55
-     *
56
-     * @return Pagination
57
-     */
58
-    public function setPage($page): Pagination
59
-    {
60
-        $this->page = $page;
51
+	/**
52
+	 * Set page
53
+	 *
54
+	 * @param int|null $page
55
+	 *
56
+	 * @return Pagination
57
+	 */
58
+	public function setPage($page): Pagination
59
+	{
60
+		$this->page = $page;
61 61
 
62
-        return $this;
63
-    }
62
+		return $this;
63
+	}
64 64
 
65
-    /**
66
-     * Get limit
67
-     *
68
-     * @return int|null
69
-     */
70
-    public function getLimit()
71
-    {
72
-        return $this->limit;
73
-    }
65
+	/**
66
+	 * Get limit
67
+	 *
68
+	 * @return int|null
69
+	 */
70
+	public function getLimit()
71
+	{
72
+		return $this->limit;
73
+	}
74 74
 
75
-    /**
76
-     * Set limit
77
-     *
78
-     * @param int|null $limit
79
-     *
80
-     * @return Pagination
81
-     */
82
-    public function setLimit($limit): Pagination
83
-    {
84
-        $this->limit = $limit;
75
+	/**
76
+	 * Set limit
77
+	 *
78
+	 * @param int|null $limit
79
+	 *
80
+	 * @return Pagination
81
+	 */
82
+	public function setLimit($limit): Pagination
83
+	{
84
+		$this->limit = $limit;
85 85
 
86
-        return $this;
87
-    }
86
+		return $this;
87
+	}
88 88
 }
89 89
\ No newline at end of file
Please login to merge, or discard this patch.