summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/gpoddernet/GpodnetClient.java
blob: 845a238235c268b964d18f0561b55e2340c4efa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package de.danoeh.antennapod.gpoddernet;

import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;

/**
 * HTTP client for the gpodder.net service.
 */
public class GpodnetClient extends DefaultHttpClient {

    private static SchemeRegistry prepareSchemeRegistry() {
        SchemeRegistry sr = new SchemeRegistry();

        Scheme http = new Scheme("http",
                PlainSocketFactory.getSocketFactory(), 80);
        sr.register(http);
        Scheme https = new Scheme("https",
                SSLSocketFactory.getSocketFactory(), 443);
        sr.register(https);

        return sr;
    }

    @Override
    protected ClientConnectionManager createClientConnectionManager() {
        return new ThreadSafeClientConnManager(new BasicHttpParams(), prepareSchemeRegistry());
    }

}