Android Open Source - android-tao-rest-data-processor Web Request






From Project

Back to project page android-tao-rest-data-processor.

License

The source code is released under:

/******************************************************************************* * Copyright (c) 2014 Alexandr Tsvetkov. * All rights reserved. This program and the accompanying materials * are mad...

If you think the Android project android-tao-rest-data-processor listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright (c) 2014 Alexandr Tsvetkov.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Lesser General Public License
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/lgpl.html
 *//from  w ww.  j a v  a2  s .  c o  m
 * Contributors:
 *     Alexandr Tsvetkov - initial API and implementation
 *
 * Project:
 *     TAO Data Processor
 *
 * License agreement:
 *
 * 1. This code is published AS IS. Author is not responsible for any damage that can be
 *    caused by any application that uses this code.
 * 2. Author does not give a garantee, that this code is error free.
 * 3. This code can be used in NON-COMMERCIAL applications AS IS without any special
 *    permission from author.
 * 4. This code can be modified without any special permission from author IF AND ONLY IF
 *    this license agreement will remain unchanged.
 ******************************************************************************/
package ua.at.tsvetkov.data_processor.requests;

import java.io.IOException;
import java.io.InputStream;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HttpContext;

import android.net.http.AndroidHttpClient;

/**
 * Abstract class for a Web Request building using {@link android.net.http.AndroidHttpClient AndroidHttpClient}.</br> If not specified the
 * request be built with basic configuration parameters specified in {@link ua.at.tsvetkov.data_processor.DataProcessorConfiguration
 * DataProcessorConfiguration}.
 * 
 * @author lordtao
 */
public abstract class WebRequest extends Request {

   protected AndroidHttpClient httpClient;
   protected HttpParams        httpParameters;
   protected HttpContext       httpContext;

   public WebRequest() {
      httpClient = AndroidHttpClient.newInstance(configuration.getHttpUserAgent());
   }

   @Override
   public abstract InputStream getInputStream() throws IOException;

   @Override
   public Request build() {
      if (httpParameters == null)
         httpParameters = new BasicHttpParams();
      return super.build();
   }

   /**
    * Return HttpContext. If the request is not builded then will be return null.
    * 
    * @return
    */
   public HttpContext getHttpContext() {
      return httpContext;
   }

   /**
    * Return HttpParams. If the request is not builded then will be return null.
    * 
    * @return
    */
   public HttpParams getHttpParameters() {
      return httpParameters;
   }

   /**
    * Release resources associated with this request. You must call this, or significant resources (sockets and memory) may be leaked.
    */
   @Override
   public void close() throws Exception {
      httpClient.close();
   }

   protected InputStream getResponce(HttpUriRequest httpRequest) throws IOException {
      HttpResponse responce;
      if (httpContext == null)
         responce = httpClient.execute(httpRequest);
      else
         responce = httpClient.execute(httpRequest, httpContext);
      statusCode = responce.getStatusLine().getStatusCode();
      return responce.getEntity().getContent();
   }

}




Java Source Code List

ua.at.tsvetkov.data_processor.DataProcessorConfiguration.java
ua.at.tsvetkov.data_processor.DataProcessor.java
ua.at.tsvetkov.data_processor.Encoding.java
ua.at.tsvetkov.data_processor.ProcessingCentre.java
ua.at.tsvetkov.data_processor.Scheme.java
ua.at.tsvetkov.data_processor.interfaces.InputStreamDataInterface.java
ua.at.tsvetkov.data_processor.interfaces.StringDataInterface.java
ua.at.tsvetkov.data_processor.processors.InputStreamProcessor.java
ua.at.tsvetkov.data_processor.processors.StringProcessor.java
ua.at.tsvetkov.data_processor.processors.abstractclasses.AbstractProcessor.java
ua.at.tsvetkov.data_processor.processors.abstractclasses.StringAbstractProcessor.java
ua.at.tsvetkov.data_processor.requests.AssetsRequest.java
ua.at.tsvetkov.data_processor.requests.DeleteRequest.java
ua.at.tsvetkov.data_processor.requests.FileRequest.java
ua.at.tsvetkov.data_processor.requests.GetRequest.java
ua.at.tsvetkov.data_processor.requests.MultipartRequest.java
ua.at.tsvetkov.data_processor.requests.PostRequest.java
ua.at.tsvetkov.data_processor.requests.PutRequest.java
ua.at.tsvetkov.data_processor.requests.Request.java
ua.at.tsvetkov.data_processor.requests.WebRequest.java