/** * Copyright (C) 2010-2014 eBusiness Information, Excilys Group * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed To in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package org.androidannotations.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** *
* Use this annotation to inject an HttpClient instance with the specified * KeyStore and TrustStore configured to perform an HTTPS request. *
** All the parameters are optional: *
*R.raw.cacerts.bks Typically your servers trusted certificates
* (public key, Root Chain Authority etc)changeit)changeit)true) If false, Hostname in certificate (DN)
* must match the URL.
*
* Example :
*
*
* @EBean
* public class MyBean {
* @HttpsClient(trustStore = R.raw.cacerts, //
* trustStorePwd = "changeit", //
* keyStore = R.raw.client, //
* keyStorePwd = "secret", //
* allowAllHostnames = false)
* HttpClient httpsClient;
*
* @AfterInject
* @Background
* public void securedRequest() {
* try {
* HttpGet httpget = new HttpGet("https://www.verisign.com/");
* HttpResponse response = httpsClient.execute(httpget);
* doSomethingWithResponse(response);
* } catch (Exception e) {
* e.printStackTrace();
* }
* }
*
* @UiThread
* public void doSomethingWithResponse(HttpResponse resp) {
* Toast.makeText(this, "HTTP status " + resp.getStatusLine().getStatusCode(), Toast.LENGTH_LONG).show();
* }
* }
*
*
*
*/
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.FIELD)
public @interface HttpsClient {
public static final String DEFAULT_PASSWD = "changeit";
int trustStore() default ResId.DEFAULT_VALUE;
String trustStoreResName() default "";
String trustStorePwd() default DEFAULT_PASSWD;
int keyStore() default ResId.DEFAULT_VALUE;
String keyStoreResName() default "";
String keyStorePwd() default DEFAULT_PASSWD;
boolean allowAllHostnames() default true;
}