1111import javax .servlet .http .HttpServletRequest ;
1212
1313import org .gitlab4j .api .GitLabApiException ;
14+ import org .gitlab4j .api .HookManager ;
1415import org .gitlab4j .api .utils .HttpRequestUtils ;
1516import org .gitlab4j .api .utils .JacksonJson ;
1617
2021/**
2122 * This class provides a handler for processing GitLab WebHook callouts.
2223 */
23- public class WebHookManager {
24+ public class WebHookManager extends HookManager {
2425
2526 private final static Logger LOG = Logger .getLogger (WebHookManager .class .getName ());
2627 private final JacksonJson jacksonJson = new JacksonJson ();
2728
28- private String secretToken ;
29-
3029 // Collection of objects listening for WebHook events.
3130 private final List <WebHookListener > webhookListeners = new CopyOnWriteArrayList <WebHookListener >();
3231
3332 /**
34- * Create a WebHookManager to handle GitLab webhook events.
33+ * Create a HookManager to handle GitLab webhook events.
3534 */
3635 public WebHookManager () {
37- this . secretToken = null ;
36+ super () ;
3837 }
3938
4039 /**
41- * Create a WebHookManager to handle GitLab webhook events which will be verified
40+ * Create a HookManager to handle GitLab webhook events which will be verified
4241 * against the specified secretToken.
4342 *
4443 * @param secretToken the secret token to verify against
4544 */
4645 public WebHookManager (String secretToken ) {
47- this .secretToken = secretToken ;
48- }
49-
50- /**
51- * Set the secret token that received webhook events should be validated against.
52- *
53- * @param secretToken the secret token to verify against
54- */
55- public void setSecretToken (String secretToken ) {
56- this .secretToken = secretToken ;
57- }
58-
59- /**
60- * Validate the provided secret token against the reference secret token. Returns true if
61- * the secret token is valid or there is no reference secret token to validate against,
62- * otherwise returns false.
63- *
64- * @param secretToken the token to validate
65- * @return true if the secret token is valid or there is no reference secret token to validate against
66- */
67- public boolean isValidSecretToken (String secretToken ) {
68- return (this .secretToken == null || this .secretToken .equals (secretToken ) ? true : false );
69- }
70-
71- /**
72- * Validate the provided secret token found in the HTTP header against the reference secret token.
73- * Returns true if the secret token is valid or there is no reference secret token to validate
74- * against, otherwise returns false.
75- *
76- * @param request the HTTP request to verify the secret token
77- * @return true if the secret token is valid or there is no reference secret token to validate against
78- */
79- public boolean isValidSecretToken (HttpServletRequest request ) {
80-
81- if (this .secretToken != null ) {
82- String secretToken = request .getHeader ("X-Gitlab-Token" );
83- return (isValidSecretToken (secretToken ));
84- }
85-
86- return (true );
46+ super (secretToken );
8747 }
8848
8949 /**
@@ -189,7 +149,7 @@ public void handleEvent(Event event) throws GitLabApiException {
189149 /**
190150 * Adds a WebHook event listener.
191151 *
192- * @param listener the WebHookListener to add
152+ * @param listener the SystemHookListener to add
193153 */
194154 public void addListener (WebHookListener listener ) {
195155
@@ -201,7 +161,7 @@ public void addListener(WebHookListener listener) {
201161 /**
202162 * Removes a WebHook event listener.
203163 *
204- * @param listener the WebHookListener to remove
164+ * @param listener the SystemHookListener to remove
205165 */
206166 public void removeListener (WebHookListener listener ) {
207167 webhookListeners .remove (listener );
0 commit comments