SYMBOL INDEX (201 symbols across 24 files) FILE: src/main/java/nl/martijndwars/webpush/AbstractPushService.java class AbstractPushService (line 26) | public abstract class AbstractPushService { method ClosableCallback (line 19) | public ClosableCallback(CloseableHttpAsyncClient closeableHttpAsyncCli... method completed (line 23) | @Override method failed (line 28) | @Override method cancelled (line 33) | @Override method close (line 38) | private void close() { FILE: src/main/java/nl/martijndwars/webpush/Encoding.java type Encoding (line 3) | public enum Encoding { FILE: src/main/java/nl/martijndwars/webpush/Encrypted.java class Encrypted (line 5) | public class Encrypted { method Encrypted (line 10) | public Encrypted(final PublicKey publicKey, final byte[] salt, final b... method getPublicKey (line 16) | public PublicKey getPublicKey() { method getSalt (line 20) | public byte[] getSalt() { method getCiphertext (line 24) | public byte[] getCiphertext() { class Builder (line 28) | public static class Builder { method withPublicKey (line 33) | public Builder withPublicKey(PublicKey publicKey) { method withSalt (line 39) | public Builder withSalt(byte[] salt) { method withCiphertext (line 45) | public Builder withCiphertext(byte[] ciphertext) { method build (line 51) | public Encrypted build() { FILE: src/main/java/nl/martijndwars/webpush/HttpEce.java class HttpEce (line 36) | public class HttpEce { method HttpEce (line 46) | public HttpEce() { method HttpEce (line 50) | public HttpEce(Map keys, Map labels) { method encrypt (line 68) | public byte[] encrypt(byte[] plaintext, byte[] salt, byte[] privateKey... method decrypt (line 105) | public byte[] decrypt(byte[] payload, byte[] salt, byte[] key, String ... method parseHeader (line 125) | public byte[][] parseHeader(byte[] payload) { method decryptRecord (line 140) | public byte[] decryptRecord(byte[] ciphertext, byte[] key, byte[] nonc... method buildHeader (line 165) | private byte[] buildHeader(byte[] salt, String keyid) { method buildInfo (line 190) | protected static byte[] buildInfo(String type, byte[] context) { method hkdfExpand (line 204) | protected static byte[] hkdfExpand(byte[] ikm, byte[] salt, byte[] inf... method extractSecretAndContext (line 220) | public byte[][] extractSecretAndContext(byte[] key, String keyId, ECPu... method deriveKeyAndNonce (line 251) | public byte[][] deriveKeyAndNonce(byte[] salt, byte[] key, String keyI... method extractSecret (line 283) | private byte[] extractSecret(byte[] key, String keyId, ECPublicKey dh,... method webpushSecret (line 317) | public byte[] webpushSecret(String keyId, ECPublicKey dh, byte[] authS... method extractDH (line 357) | private byte[][] extractDH(String keyid, ECPublicKey publicKey) throw... method getPublicKey (line 379) | private ECPublicKey getPublicKey(String keyid) { method getPrivateKey (line 389) | private ECPrivateKey getPrivateKey(String keyid) { method lengthPrefix (line 400) | private static byte[] lengthPrefix(ECPublicKey publicKey) { method intToBytes (line 416) | private static byte[] intToBytes(int number) { method log (line 439) | private static byte[] log(String info, byte[] array) { FILE: src/main/java/nl/martijndwars/webpush/HttpRequest.java class HttpRequest (line 5) | public class HttpRequest { method HttpRequest (line 13) | public HttpRequest(String url, Map headers, byte[] bod... method getUrl (line 19) | public String getUrl() { method getHeaders (line 23) | public Map getHeaders() { method getBody (line 27) | public byte[] getBody() { FILE: src/main/java/nl/martijndwars/webpush/Notification.java class Notification (line 15) | public class Notification { method Notification (line 60) | public Notification(String endpoint, ECPublicKey userPublicKey, byte[]... method Notification (line 70) | public Notification(String endpoint, PublicKey userPublicKey, byte[] u... method Notification (line 74) | public Notification(String endpoint, String userPublicKey, String user... method Notification (line 78) | public Notification(String endpoint, PublicKey userPublicKey, byte[] u... method Notification (line 82) | public Notification(String endpoint, String userPublicKey, String user... method Notification (line 86) | public Notification(String endpoint, String userPublicKey, String user... method Notification (line 90) | public Notification(String endpoint, String userPublicKey, String user... method Notification (line 95) | public Notification(Subscription subscription, String payload) throws ... method Notification (line 99) | public Notification(Subscription subscription, String payload, Urgency... method getEndpoint (line 104) | public String getEndpoint() { method getUserPublicKey (line 108) | public ECPublicKey getUserPublicKey() { method getUserAuth (line 112) | public byte[] getUserAuth() { method getPayload (line 116) | public byte[] getPayload() { method hasPayload (line 120) | public boolean hasPayload() { method hasUrgency (line 124) | public boolean hasUrgency() { method hasTopic (line 128) | public boolean hasTopic() { method isGcm (line 137) | public boolean isGcm() { method isFcm (line 141) | public boolean isFcm() { method getTTL (line 145) | public int getTTL() { method getUrgency (line 149) | public Urgency getUrgency() { method getTopic (line 153) | public String getTopic() { method getOrigin (line 157) | public String getOrigin() throws MalformedURLException { method builder (line 163) | public static NotificationBuilder builder() { class NotificationBuilder (line 167) | public static class NotificationBuilder { method NotificationBuilder (line 176) | private NotificationBuilder() { method build (line 179) | public Notification build() { method endpoint (line 183) | public NotificationBuilder endpoint(String endpoint) { method userPublicKey (line 188) | public NotificationBuilder userPublicKey(PublicKey publicKey) { method userPublicKey (line 193) | public NotificationBuilder userPublicKey(String publicKey) throws No... method userPublicKey (line 198) | public NotificationBuilder userPublicKey(byte[] publicKey) throws No... method userAuth (line 203) | public NotificationBuilder userAuth(String userAuth) { method userAuth (line 208) | public NotificationBuilder userAuth(byte[] userAuth) { method payload (line 213) | public NotificationBuilder payload(byte[] payload) { method payload (line 218) | public NotificationBuilder payload(String payload) { method ttl (line 223) | public NotificationBuilder ttl(int ttl) { method urgency (line 228) | public NotificationBuilder urgency(Urgency urgency) { method topic (line 233) | public NotificationBuilder topic(String topic) { FILE: src/main/java/nl/martijndwars/webpush/PushAsyncService.java class PushAsyncService (line 15) | public class PushAsyncService extends AbstractPushService send(Notification notification, Enc... method send (line 57) | public CompletableFuture send(Notification notification) thr... method preparePost (line 71) | public BoundRequestBuilder preparePost(Notification notification, Enco... FILE: src/main/java/nl/martijndwars/webpush/PushService.java class PushService (line 26) | public class PushService extends AbstractPushService { method PushService (line 28) | public PushService() { method PushService (line 31) | public PushService(String gcmApiKey) { method PushService (line 35) | public PushService(KeyPair keyPair) { method PushService (line 39) | public PushService(KeyPair keyPair, String subject) { method PushService (line 43) | public PushService(String publicKey, String privateKey) throws General... method PushService (line 47) | public PushService(String publicKey, String privateKey, String subject... method send (line 63) | public HttpResponse send(Notification notification, Encoding encoding)... method send (line 67) | public HttpResponse send(Notification notification) throws GeneralSecu... method sendAsync (line 83) | @Deprecated method sendAsync (line 96) | @Deprecated method preparePost (line 111) | public HttpPost preparePost(Notification notification, Encoding encodi... FILE: src/main/java/nl/martijndwars/webpush/Subscription.java class Subscription (line 3) | public class Subscription { method Subscription (line 7) | public Subscription() { method Subscription (line 11) | public Subscription(String endpoint, Keys keys) { class Keys (line 16) | public static class Keys { method Keys (line 20) | public Keys() { method Keys (line 24) | public Keys(String key, String auth) { FILE: src/main/java/nl/martijndwars/webpush/Urgency.java type Urgency (line 9) | public enum Urgency { method Urgency (line 17) | Urgency(String urgency) { method getHeaderValue (line 21) | public String getHeaderValue() { FILE: src/main/java/nl/martijndwars/webpush/Utils.java class Utils (line 22) | public class Utils { method encode (line 34) | public static byte[] encode(ECPublicKey publicKey) { method encode (line 38) | public static byte[] encode(ECPrivateKey privateKey) { method loadPublicKey (line 48) | public static PublicKey loadPublicKey(String encodedPublicKey) throws ... method loadPublicKey (line 58) | public static PublicKey loadPublicKey(byte[] decodedPublicKey) throws ... method loadPrivateKey (line 77) | public static PrivateKey loadPrivateKey(String encodedPrivateKey) thro... method loadPrivateKey (line 91) | public static PrivateKey loadPrivateKey(byte[] decodedPrivateKey) thro... method loadPublicKey (line 106) | public static ECPublicKey loadPublicKey(ECPrivateKey privateKey) throw... method verifyKeyPair (line 124) | public static boolean verifyKeyPair(PrivateKey privateKey, PublicKey p... method concat (line 135) | public static byte[] concat(byte[]... arrays) { method combinedLength (line 156) | public static int combinedLength(byte[]... arrays) { method toByteArray (line 177) | public static byte[] toByteArray(int integer, int size) { FILE: src/main/java/nl/martijndwars/webpush/cli/Cli.java class Cli (line 16) | public class Cli { method main (line 20) | public static void main(String[] args) { FILE: src/main/java/nl/martijndwars/webpush/cli/commands/GenerateKeyCommand.java class GenerateKeyCommand (line 6) | @Parameters(separators = "=", commandDescription = "Generate a VAPID key... method hasPublicKeyFile (line 12) | public Boolean hasPublicKeyFile() { method getPublicKeyFile (line 16) | public String getPublicKeyFile() { FILE: src/main/java/nl/martijndwars/webpush/cli/commands/SendNotificationCommand.java class SendNotificationCommand (line 7) | @Parameters(separators = "=", commandDescription = "Send a push notifica... method getSubscription (line 30) | public Subscription getSubscription() { method getPublicKey (line 34) | public String getPublicKey() { method getPrivateKey (line 38) | public String getPrivateKey() { method getPayload (line 42) | public String getPayload() { method getTtl (line 46) | public int getTtl() { FILE: src/main/java/nl/martijndwars/webpush/cli/handlers/GenerateKeyHandler.java class GenerateKeyHandler (line 23) | public class GenerateKeyHandler implements HandlerInterface { method GenerateKeyHandler (line 26) | public GenerateKeyHandler(GenerateKeyCommand generateKeyCommand) { method run (line 30) | @Override method generateKeyPair (line 59) | public KeyPair generateKeyPair() throws InvalidAlgorithmParameterExcep... method writeKey (line 74) | private void writeKey(Key key, File file) throws IOException { FILE: src/main/java/nl/martijndwars/webpush/cli/handlers/HandlerInterface.java type HandlerInterface (line 5) | public interface HandlerInterface { method run (line 6) | public void run() throws Exception; FILE: src/main/java/nl/martijndwars/webpush/cli/handlers/SendNotificationHandler.java class SendNotificationHandler (line 9) | public class SendNotificationHandler implements HandlerInterface { method SendNotificationHandler (line 12) | public SendNotificationHandler(SendNotificationCommand sendNotificatio... method run (line 16) | @Override FILE: src/test/java/nl/martijndwars/webpush/HttpEceTest.java class HttpEceTest (line 16) | class HttpEceTest { method addSecurityProvider (line 17) | @BeforeAll method decode (line 22) | private byte[] decode(String s) { method testZeroSaltAndKey (line 26) | @Test method testSampleEncryption (line 46) | @Test method testSampleEncryptDecrypt (line 59) | @Test method testEncryptionWithMultipleRecords (line 94) | @Test FILE: src/test/java/nl/martijndwars/webpush/NotificationTest.java class NotificationTest (line 12) | class NotificationTest { method addSecurityProvider (line 18) | @BeforeAll method testNotificationBuilder (line 23) | @Test method testDefaultTtl (line 35) | @Test FILE: src/test/java/nl/martijndwars/webpush/selenium/BrowserTest.java class BrowserTest (line 17) | public class BrowserTest implements Executable { method BrowserTest (line 27) | public BrowserTest(TestingService testingService, Configuration config... method execute (line 38) | @Override method getPushService (line 59) | protected PushService getPushService() throws GeneralSecurityException { method getDisplayName (line 75) | public String getDisplayName() { FILE: src/test/java/nl/martijndwars/webpush/selenium/Configuration.java class Configuration (line 3) | public class Configuration { method Configuration (line 9) | Configuration(String browser, String version, String publicKey, String... method isVapid (line 16) | public boolean isVapid() { method toString (line 20) | @Override FILE: src/test/java/nl/martijndwars/webpush/selenium/SeleniumTests.java class SeleniumTests (line 18) | public class SeleniumTests { method SeleniumTests (line 25) | public SeleniumTests() { method tearDown (line 34) | @AfterAll method dynamicTests (line 44) | @TestFactory method getConfigurations (line 60) | protected Stream getConfigurations() { FILE: src/test/java/nl/martijndwars/webpush/selenium/TestingService.java class TestingService (line 21) | public class TestingService { method TestingService (line 24) | public TestingService(String baseUrl) { method startTestSuite (line 33) | public int startTestSuite() throws IOException { method getSubscription (line 54) | public JsonObject getSubscription(int testSuiteId, Configuration confi... method getNotificationStatus (line 83) | public JsonArray getNotificationStatus(int testSuiteId, int testId) th... method endTestSuite (line 100) | public boolean endTestSuite(int testSuiteId) throws IOException { method request (line 117) | protected String request(String uri) throws IOException { method request (line 127) | protected String request(String uri, HttpEntity entity) throws IOExcep... method getData (line 152) | protected JsonObject getData(String response) {