// Path: src/com/qa/framework/bean/Cookie.java
// public class Cookie {
//     private String name;
//     private String value;
//     private String domain;
//     private String path;
//     private Date expiry;
// 
//     private static Date getExpiryDate() {
//         Calendar calendar = Calendar.getInstance();
//         Date date = new Date();
//         calendar.setTime(date);
//         calendar.add(Calendar.YEAR, 1);
//         date = calendar.getTime();
//         return date;
//     }
// 
//     /**
//      * Gets value.
//      *
//      * @return the value
//      */
//     public String getValue() {
//         return value;
//     }
// 
//     /**
//      * Sets value.
//      *
//      * @param value the value
//      */
//     public void setValue(String value) {
//         this.value = value;
//     }
// 
//     /**
//      * Gets name.
//      *
//      * @return the name
//      */
//     public String getName() {
//         return name;
//     }
// 
//     /**
//      * Sets name.
//      *
//      * @param name the name
//      */
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     /**
//      * Gets domain.
//      *
//      * @return the domain
//      */
//     public String getDomain() {
//         if (domain == null) {
//             String webPath = PropConfig.getWebPath();
//             if (StringHelper.startsWithIgnoreCase(webPath, "http://")) {
//                 if (webPath.substring(7).contains("/")) {
//                     domain = StringHelper.getTokensList(webPath.substring(7), "/").get(0);
//                 } else {
//                     domain = webPath.substring(7);
//                 }
//             }
//             if (domain.contains(":")) {
//                 domain = domain.split(":")[0].trim();
//             }
//         }
//         return domain;
//     }
// 
//     /**
//      * Sets domain.
//      *
//      * @param domain the domain
//      */
//     public void setDomain(String domain) {
//         this.domain = domain;
//     }
// 
//     /**
//      * Gets path.
//      *
//      * @return the path
//      */
//     public String getPath() {
//         if (path == null) {
//             path = "/";
//         }
//         return path;
//     }
// 
//     /**
//      * Sets path.
//      *
//      * @param path the path
//      */
//     public void setPath(String path) {
//         this.path = path;
//     }
// 
//     /**
//      * Gets expiry.
//      *
//      * @return the expiry
//      */
//     public Date getExpiry() {
//         if (expiry == null) {
//             expiry = getExpiryDate();
//         }
//         return expiry;
//     }
// 
//     /**
//      * Sets expiry.
//      *
//      * @param expiry the expiry
//      */
//     public void setExpiry(Date expiry) {
//         this.expiry = expiry;
//     }
// }


import com.qa.framework.bean.Cookie;
import org.apache.commons.io.input.BOMInputStream;
import org.apache.http.HttpEntity;
import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.util.EntityUtils;
import org.apache.log4j.Logger;
import java.io.*;
import java.util.List;
package com.qa.framework.library.httpclient;




/**
 * The type Http connection imp.
 */
public class HttpConnectionImp {
    private final Logger logger = Logger
            .getLogger(this.getClass());
    private HttpRequestBase baseRequest;
// Path: src/com/qa/framework/bean/Cookie.java
// public class Cookie {
//     private String name;
//     private String value;
//     private String domain;
//     private String path;
//     private Date expiry;
// 
//     private static Date getExpiryDate() {
//         Calendar calendar = Calendar.getInstance();
//         Date date = new Date();
//         calendar.setTime(date);
//         calendar.add(Calendar.YEAR, 1);
//         date = calendar.getTime();
//         return date;
//     }
// 
//     /**
//      * Gets value.
//      *
//      * @return the value
//      */
//     public String getValue() {
//         return value;
//     }
// 
//     /**
//      * Sets value.
//      *
//      * @param value the value
//      */
//     public void setValue(String value) {
//         this.value = value;
//     }
// 
//     /**
//      * Gets name.
//      *
//      * @return the name
//      */
//     public String getName() {
//         return name;
//     }
// 
//     /**
//      * Sets name.
//      *
//      * @param name the name
//      */
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     /**
//      * Gets domain.
//      *
//      * @return the domain
//      */
//     public String getDomain() {
//         if (domain == null) {
//             String webPath = PropConfig.getWebPath();
//             if (StringHelper.startsWithIgnoreCase(webPath, "http://")) {
//                 if (webPath.substring(7).contains("/")) {
//                     domain = StringHelper.getTokensList(webPath.substring(7), "/").get(0);
//                 } else {
//                     domain = webPath.substring(7);
//                 }
//             }
//             if (domain.contains(":")) {
//                 domain = domain.split(":")[0].trim();
//             }
//         }
//         return domain;
//     }
// 
//     /**
//      * Sets domain.
//      *
//      * @param domain the domain
//      */
//     public void setDomain(String domain) {
//         this.domain = domain;
//     }
// 
//     /**
//      * Gets path.
//      *
//      * @return the path
//      */
//     public String getPath() {
//         if (path == null) {
//             path = "/";
//         }
//         return path;
//     }
// 
//     /**
//      * Sets path.
//      *
//      * @param path the path
//      */
//     public void setPath(String path) {
//         this.path = path;
//     }
// 
//     /**
//      * Gets expiry.
//      *
//      * @return the expiry
//      */
//     public Date getExpiry() {
//         if (expiry == null) {
//             expiry = getExpiryDate();
//         }
//         return expiry;
//     }
// 
//     /**
//      * Sets expiry.
//      *
//      * @param expiry the expiry
//      */
//     public void setExpiry(Date expiry) {
//         this.expiry = expiry;
//     }
// }


// Path: src/com/qa/framework/library/httpclient/HttpConnectionImp.java
import com.qa.framework.bean.Cookie;
import org.apache.commons.io.input.BOMInputStream;
import org.apache.http.HttpEntity;
import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.util.EntityUtils;
import org.apache.log4j.Logger;
import java.io.*;
import java.util.List;

package com.qa.framework.library.httpclient;




/**
 * The type Http connection imp.
 */
public class HttpConnectionImp {
    private final Logger logger = Logger
            .getLogger(this.getClass());
    private HttpRequestBase baseRequest;
    private List<Cookie> cookieList;