13bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath/* 23bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/CoreConnectionPNames.java $ 33bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $Revision: 576077 $ 43bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $Date: 2007-09-16 04:50:22 -0700 (Sun, 16 Sep 2007) $ 53bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 63bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * ==================================================================== 73bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Licensed to the Apache Software Foundation (ASF) under one 83bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * or more contributor license agreements. See the NOTICE file 93bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * distributed with this work for additional information 103bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * regarding copyright ownership. The ASF licenses this file 113bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * to you under the Apache License, Version 2.0 (the 123bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * "License"); you may not use this file except in compliance 133bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * with the License. You may obtain a copy of the License at 143bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 153bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * http://www.apache.org/licenses/LICENSE-2.0 163bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 173bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Unless required by applicable law or agreed to in writing, 183bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * software distributed under the License is distributed on an 193bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 203bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * KIND, either express or implied. See the License for the 213bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * specific language governing permissions and limitations 223bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * under the License. 233bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * ==================================================================== 243bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 253bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This software consists of voluntary contributions made by many 263bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * individuals on behalf of the Apache Software Foundation. For more 273bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * information on the Apache Software Foundation, please see 283bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <http://www.apache.org/>. 293bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 303bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 313bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 323bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamathpackage org.apache.http.params; 333bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 343bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 353bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath/** 363bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Defines parameter names for connections in HttpCore. 373bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 383bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @version $Revision: 576077 $ 393bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 403bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @since 4.0 413bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * 423bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @deprecated Please use {@link java.net.URL#openConnection} instead. 433bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Please visit <a href="http://android-developers.blogspot.com/2011/09/androids-http-clients.html">this webpage</a> 443bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * for further details. 453bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 463bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath@Deprecated 473bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamathpublic interface CoreConnectionPNames { 483bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 493bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 503bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Defines the default socket timeout (<tt>SO_TIMEOUT</tt>) in milliseconds which is the 513bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * timeout for waiting for data. A timeout value of zero is interpreted as an infinite 523bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * timeout. This value is used when no socket timeout is set in the 533bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * method parameters. 543bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 553bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Integer}. 563bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 573bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @see java.net.SocketOptions#SO_TIMEOUT 583bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 593bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String SO_TIMEOUT = "http.socket.timeout"; 603bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 613bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 623bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Determines whether Nagle's algorithm is to be used. The Nagle's algorithm 633bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * tries to conserve bandwidth by minimizing the number of segments that are 643bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * sent. When applications wish to decrease network latency and increase 653bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * performance, they can disable Nagle's algorithm (that is enable TCP_NODELAY). 663bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Data will be sent earlier, at the cost of an increase in bandwidth consumption. 673bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 683bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Boolean}. 693bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 703bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @see java.net.SocketOptions#TCP_NODELAY 713bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 723bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String TCP_NODELAY = "http.tcp.nodelay"; 733bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 743bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 753bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Determines the size of the internal socket buffer used to buffer data 763bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * while receiving / transmitting HTTP messages. 773bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 783bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Integer}. 793bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 803bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 813bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String SOCKET_BUFFER_SIZE = "http.socket.buffer-size"; 823bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 833bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 843bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Sets SO_LINGER with the specified linger time in seconds. The maximum timeout 853bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * value is platform specific. Value <tt>0</tt> implies that the option is disabled. 863bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Value <tt>-1</tt> implies that the JRE default is used. The setting only affects 873bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * socket close. 883bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 893bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Integer}. 903bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 913bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @see java.net.SocketOptions#SO_LINGER 923bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 933bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String SO_LINGER = "http.socket.linger"; 943bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 953bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 963bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Determines the timeout until a connection is etablished. A value of zero 973bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * means the timeout is not used. The default value is zero. 983bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 993bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Integer}. 1003bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 1013bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 1023bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String CONNECTION_TIMEOUT = "http.connection.timeout"; 1033bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 1043bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 1053bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Determines whether stale connection check is to be used. Disabling 1063bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * stale connection check may result in slight performance improvement 1073bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * at the risk of getting an I/O error when executing a request over a 1083bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * connection that has been closed at the server side. 1093bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 1103bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Boolean}. 1113bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 1123bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 1133bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String STALE_CONNECTION_CHECK = "http.connection.stalecheck"; 1143bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 1153bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 1163bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Determines the maximum line length limit. If set to a positive value, any HTTP 1173bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * line exceeding this limit will cause an IOException. A negative or zero value 1183bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * will effectively disable the check. 1193bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 1203bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Integer}. 1213bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 1223bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 1233bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String MAX_LINE_LENGTH = "http.connection.max-line-length"; 1243bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 1253bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath /** 1263bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Determines the maximum HTTP header count allowed. If set to a positive value, 1273bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * the number of HTTP headers received from the data stream exceeding this limit 1283bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * will cause an IOException. A negative or zero value will effectively disable 1293bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * the check. 1303bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <p> 1313bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This parameter expects a value of type {@link Integer}. 1323bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * </p> 1333bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */ 1343bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath public static final String MAX_HEADER_COUNT = "http.connection.max-header-count"; 1353bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath 1363bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath} 137