/*
* Copyright 2015 Hippo Seven
*
* 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 com.hippo.nimingban.network;
import android.support.annotation.Nullable;
import java.net.HttpCookie;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class TransportableHttpCookie {
public String name;
public String value;
public String comment;
public String commentURL;
public boolean discard;
public String domain;
public long maxAge;
public String path;
public String portList;
public boolean secure;
public int version;
public String url;
public static List<TransportableHttpCookie> from(URL url, List<HttpCookieWithId> list) {
List<TransportableHttpCookie> result = new ArrayList<>(list.size());
for (HttpCookieWithId hcwi : list) {
HttpCookie cookie = hcwi.httpCookie;
TransportableHttpCookie thc = new TransportableHttpCookie();
thc.name = cookie.getName();
thc.value = cookie.getValue();
thc.comment = cookie.getComment();
thc.commentURL = cookie.getCommentURL();
thc.discard = cookie.getDiscard();
thc.domain = cookie.getDomain();
thc.maxAge = cookie.getMaxAge();
thc.path = cookie.getPath();
thc.portList = cookie.getPortlist();
thc.secure = cookie.getSecure();
thc.version = cookie.getVersion();
thc.url = url.toString();
result.add(thc);
}
return result;
}
@Nullable
public HttpCookie to() {
if (name == null || value == null) {
return null;
}
HttpCookie cookie = new HttpCookie(name, value);
cookie.setComment(comment);
cookie.setCommentURL(commentURL);
cookie.setDiscard(discard);
cookie.setDomain(domain);
cookie.setMaxAge(maxAge);
cookie.setPath(path);
cookie.setPortlist(portList);
cookie.setSecure(secure);
cookie.setVersion(version);
return cookie;
}
}