@Override
public List<Header> formatCookies(final List<Cookie> cookies) {
Args.notEmpty(cookies, "List of cookies");
final CharArrayBuffer buffer = new CharArrayBuffer(20 * cookies.size());
buffer.append(SM.COOKIE);
buffer.append(": ");
for (int i = 0; i < cookies.size(); i++) {
final Cookie cookie = cookies.get(i);
if (i > 0) {
buffer.append("; ");
}
final String cookieName = cookie.getName();
final String cookieValue = cookie.getValue();
if (cookie.getVersion() > 0 && !isQuoteEnclosed(cookieValue)) {
BasicHeaderValueFormatter.INSTANCE.formatHeaderElement(
buffer,
new BasicHeaderElement(cookieName, cookieValue),
false);
} else {
// Netscape style cookies do not support quoted values
buffer.append(cookieName);
buffer.append("=");
if (cookieValue != null) {
buffer.append(cookieValue);
}
}
}
final List<Header> headers = new ArrayList<Header>(1);
headers.add(new BufferedHeader(buffer));
return headers;
}
java类org.apache.http.util.Args的实例源码
BrowserCompatSpec.java 文件源码
项目:purecloud-iot
阅读 24
收藏 0
点赞 0
评论 0
RFC6265CookieSpec.java 文件源码
项目:purecloud-iot
阅读 19
收藏 0
点赞 0
评论 0
@Override
public final boolean match(final Cookie cookie, final CookieOrigin origin) {
Args.notNull(cookie, "Cookie");
Args.notNull(origin, "Cookie origin");
for (final CookieAttributeHandler handler: this.attribHandlers) {
if (!handler.match(cookie, origin)) {
return false;
}
}
return true;
}
AbstractConnPool.java 文件源码
项目:remote-files-sync
阅读 24
收藏 0
点赞 0
评论 0
public void setDefaultMaxPerRoute(final int max) {
Args.notNegative(max, "Max per route value");
this.lock.lock();
try {
this.defaultMaxPerRoute = max;
} finally {
this.lock.unlock();
}
}
ConnPoolByRoute.java 文件源码
项目:purecloud-iot
阅读 23
收藏 0
点赞 0
评论 0
/**
* Closes idle connections.
*
* @param idletime the time the connections should have been idle
* in order to be closed now
* @param tunit the unit for the {@code idletime}
*/
@Override
public void closeIdleConnections(final long idletime, final TimeUnit tunit) {
Args.notNull(tunit, "Time unit");
final long t = idletime > 0 ? idletime : 0;
if (log.isDebugEnabled()) {
log.debug("Closing connections idle longer than " + t + " " + tunit);
}
// the latest time for which connections will be closed
final long deadline = System.currentTimeMillis() - tunit.toMillis(t);
poolLock.lock();
try {
final Iterator<BasicPoolEntry> iter = freeConnections.iterator();
while (iter.hasNext()) {
final BasicPoolEntry entry = iter.next();
if (entry.getUpdated() <= deadline) {
if (log.isDebugEnabled()) {
log.debug("Closing connection last used @ " + new Date(entry.getUpdated()));
}
iter.remove();
deleteEntry(entry);
}
}
} finally {
poolLock.unlock();
}
}
RequestBuilder.java 文件源码
项目:purecloud-iot
阅读 29
收藏 0
点赞 0
评论 0
public RequestBuilder addParameter(final NameValuePair nvp) {
Args.notNull(nvp, "Name value pair");
if (parameters == null) {
parameters = new LinkedList<NameValuePair>();
}
parameters.add(nvp);
return this;
}
BasicLineParserHC4.java 文件源码
项目:remote-files-sync
阅读 17
收藏 0
点赞 0
评论 0
public static
ProtocolVersion parseProtocolVersion(final String value,
final LineParser parser) throws ParseException {
Args.notNull(value, "Value");
final CharArrayBuffer buffer = new CharArrayBuffer(value.length());
buffer.append(value);
final ParserCursor cursor = new ParserCursor(0, value.length());
return (parser != null ? parser : BasicLineParserHC4.INSTANCE)
.parseProtocolVersion(buffer, cursor);
}
BasicLineParserHC4.java 文件源码
项目:remote-files-sync
阅读 17
收藏 0
点赞 0
评论 0
public static
RequestLine parseRequestLine(final String value,
final LineParser parser) throws ParseException {
Args.notNull(value, "Value");
final CharArrayBuffer buffer = new CharArrayBuffer(value.length());
buffer.append(value);
final ParserCursor cursor = new ParserCursor(0, value.length());
return (parser != null ? parser : BasicLineParserHC4.INSTANCE)
.parseRequestLine(buffer, cursor);
}
AbstractMessageParserHC4.java 文件源码
项目:remote-files-sync
阅读 21
收藏 0
点赞 0
评论 0
/**
* Creates new instance of AbstractMessageParserHC4.
*
* @param buffer the session input buffer.
* @param lineParser the line parser. If <code>null</code> {@link BasicLineParserHC4#INSTANCE}
* will be used.
* @param constraints the message constraints. If <code>null</code>
* {@link MessageConstraints#DEFAULT} will be used.
*
* @since 4.3
*/
public AbstractMessageParserHC4(
final SessionInputBuffer buffer,
final LineParser lineParser,
final MessageConstraints constraints) {
super();
this.sessionBuffer = Args.notNull(buffer, "Session input buffer");
this.lineParser = lineParser != null ? lineParser : BasicLineParserHC4.INSTANCE;
this.messageConstraints = constraints != null ? constraints : MessageConstraints.DEFAULT;
this.headerLines = new ArrayList<CharArrayBuffer>();
this.state = HEAD_LINE;
}
NetscapeDraftHeaderParserHC4.java 文件源码
项目:remote-files-sync
阅读 23
收藏 0
点赞 0
评论 0
public HeaderElement parseHeader(
final CharArrayBuffer buffer,
final ParserCursor cursor) throws ParseException {
Args.notNull(buffer, "Char array buffer");
Args.notNull(cursor, "Parser cursor");
final NameValuePair nvp = parseNameValuePair(buffer, cursor);
final List<NameValuePair> params = new ArrayList<NameValuePair>();
while (!cursor.atEnd()) {
final NameValuePair param = parseNameValuePair(buffer, cursor);
params.add(param);
}
return new BasicHeaderElement(
nvp.getName(),
nvp.getValue(), params.toArray(new NameValuePair[params.size()]));
}
CookieSpecBaseHC4.java 文件源码
项目:remote-files-sync
阅读 23
收藏 0
点赞 0
评论 0
public void validate(final Cookie cookie, final CookieOrigin origin)
throws MalformedCookieException {
Args.notNull(cookie, "Cookie");
Args.notNull(origin, "Cookie origin");
for (final CookieAttributeHandler handler: getAttribHandlers()) {
handler.validate(cookie, origin);
}
}