[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski resolved HTTPCLIENT-1206.
-------------------------------------------

       Resolution: Fixed
    Fix Version/s: 4.2.1

This issue has been fixed in SVN trunk. Please re-test your application against 
the latest SVN snapshot.

Oleg
                
> DecompressingHttpClient ignores "https://"; URI, always connects as plain 
> "http://";
> ----------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1206
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1206
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.2 Final
>            Reporter: Hendy Irawan
>             Fix For: 4.2.1
>
>
> DecompressingHttpClient is the successor of ContentEncodingHttpClient. 
> However ContentEncodingHttpClient works well with HTTPS, while 
> DecompressingHttpClient always uses plain HTTP.
> Sample code (from https://github.com/soluvas/fb-tools ):
> package org.soluvas.fbcli;
> import java.net.URI;
> import javax.annotation.PostConstruct;
> import javax.annotation.PreDestroy;
> import javax.enterprise.event.Observes;
> import javax.inject.Inject;
> import javax.inject.Named;
> import org.apache.http.HttpResponse;
> import org.apache.http.client.HttpClient;
> import org.apache.http.client.methods.HttpGet;
> import org.apache.http.client.utils.URIBuilder;
> import org.apache.http.impl.client.ContentEncodingHttpClient;
> import org.apache.http.impl.conn.PoolingClientConnectionManager;
> import org.apache.http.params.BasicHttpParams;
> import org.jboss.weld.environment.se.bindings.Parameters;
> import org.jboss.weld.environment.se.events.ContainerInitialized;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> import akka.actor.ActorSystem;
> import akka.dispatch.Future;
> import com.fasterxml.jackson.databind.JsonNode;
> import com.fasterxml.jackson.databind.ObjectMapper;
> import com.fasterxml.jackson.databind.SerializationFeature;
> /**
>  * @author ceefour
>  */
> public class FbCli {
>       private transient Logger log = LoggerFactory.getLogger(FbCli.class);
>       @Inject @Parameters String[] args;
>       @Inject @Named("facebook_accessToken") String accessToken;
>       public void run(@Observes ContainerInitialized e) {
>               log.info("fbcli starting");
>               if (args.length < 1)
>                       throw new RuntimeException("Requires command line 
> arguments.");
>               
>               if ("friends".equals(args[0])) {
>                       try {
>                               // this works: 
>                               HttpClient httpClient = new 
> ContentEncodingHttpClient(new PoolingClientConnectionManager(), new 
> BasicHttpParams());
>                               // this doesn't work:
> //                             HttpClient httpClient = new 
> DecompressingHttpClient(new DefaultHttpClient(new 
> PoolingClientConnectionManager(), new BasicHttpParams()));
>                               try {
>                                       URI friendsUri = new 
> URIBuilder("https://graph.facebook.com/me/friends";).addParameter("access_token",
>  accessToken).build();
>                                       HttpGet getReq = new 
> HttpGet(friendsUri);
>                                       HttpResponse friendsResp = 
> httpClient.execute(getReq);
>                                       
>                                       ObjectMapper mapper = new 
> ObjectMapper();
>                                       
> mapper.enable(SerializationFeature.INDENT_OUTPUT);
>                                       JsonNode json = 
> mapper.readTree(friendsResp.getEntity().getContent());
>                                       
>                                       if (json.has("paging")) {
>                                               JsonNode pagingNode = 
> json.get("paging");
>                                               if (pagingNode.has("next")) {
>                                                       String nextUri = 
> pagingNode.get("next").asText();
>                                               }
>                                       }
>                                       
>                                       mapper.writeValue(System.out, json);
>                               } finally {
>                                       
> httpClient.getConnectionManager().shutdown();
>                               }
>                       } catch (Exception ex) {
>                               throw new RuntimeException(ex);
>                       }
>               }
>       }
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to