@@ -0,0 +1,1960 @@
+package net.kencochrane.raven.getsentry;%0A%0Aimport net.kencochrane.raven.DefaultRavenFactory;%0Aimport net.kencochrane.raven.connection.Connection;%0Aimport net.kencochrane.raven.dsn.Dsn;%0Aimport net.kencochrane.raven.getsentry.connection.GetSentryHttpsConnection;%0Aimport org.slf4j.Logger;%0Aimport org.slf4j.LoggerFactory;%0A%0A/**%0A * Raven factory capable of handling 'getsentry' scheme, using the HTTPS connection to GetSentry.com.%0A */%0Apublic class GetSentryRavenFactory extends DefaultRavenFactory %7B%0A    private static final Logger logger = LoggerFactory.getLogger(GetSentryRavenFactory.class);%0A%0A    @Override%0A    protected Connection createConnection(Dsn dsn) %7B%0A        String protocol = dsn.getProtocol();%0A        Connection connection;%0A%0A        if (protocol.equalsIgnoreCase(%22getsentry%22)) %7B%0A            logger.info(%22Using an HTTP connection to Sentry.%22);%0A            connection = createHttpConnection(dsn);%0A%0A            // Enable async unless its value is 'false'.%0A            if (!Boolean.FALSE.toString().equalsIgnoreCase(dsn.getOptions().get(ASYNC_OPTION))) %7B%0A                connection = createAsyncConnection(dsn, connection);%0A            %7D%0A        %7D else %7B%0A            connection = super.createConnection(dsn);%0A        %7D%0A%0A        return connection;%0A    %7D%0A%0A    /**%0A     * Creates an HTTPS connection to the GetSentry server.%0A     *%0A     * @param dsn Data Source Name of the Sentry server.%0A     * @return a %7B@link GetSentryHttpsConnection%7D to the server.%0A     */%0A    protected Connection createHttpConnection(Dsn dsn) %7B%0A        GetSentryHttpsConnection httpConnection = new GetSentryHttpsConnection(dsn.getProjectId(), dsn.getPublicKey(),%0A                dsn.getSecretKey());%0A        httpConnection.setMarshaller(createMarshaller(dsn));%0A%0A        // Set the HTTP timeout%0A        if (dsn.getOptions().containsKey(TIMEOUT_OPTION))%0A            httpConnection.setTimeout(Integer.parseInt(dsn.getOptions().get(TIMEOUT_OPTION)));%0A        return httpConnection;%0A    %7D%0A%7D%0A

Add RavenFactory capable of creating connections to getSentry