cpython/Lib
Martin Panter 3c0d0baf2b Issue #12319: Support for chunked encoding of HTTP request bodies
When the body object is a file, its size is no longer determined with
fstat(), since that can report the wrong result (e.g. reading from a pipe).
Instead, determine the size using seek(), or fall back to chunked encoding
for unseekable files.

Also, change the logic for detecting text files to check for TextIOBase
inheritance, rather than inspecting the “mode” attribute, which may not
exist (e.g. BytesIO and StringIO).  The Content-Length for text files is no
longer determined ahead of time, because the original logic could have been
wrong depending on the codec and newline translation settings.

Patch by Demian Brecht and Rolf Krahl, with a few tweaks by me.
2016-08-24 06:33:33 +00:00
..
asyncio In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters. (Merge 3.5->3.6) 2016-08-23 09:39:26 -07:00
collections Remove main section that was only used during testing and development 2016-08-21 20:52:26 -07:00
concurrent Issue #27664: Add to concurrent.futures.thread.ThreadPoolExecutor() 2016-08-07 10:19:20 -07:00
ctypes Closes #9998: Allowed find_library to search additional locations for libraries. 2016-08-17 16:20:07 +01:00
curses Issue #27294: Numerical state in the repr for Tkinter event objects is now 2016-06-18 22:08:11 +03:00
dbm Issue #21708: Deprecated dbm.dumb behavior that differs from common dbm 2016-07-06 12:21:58 +03:00
distutils Issue #27819: Simply default to gztar for sdist formats by default on all platforms. 2016-08-20 17:31:07 -04:00
email Correct misspellings of ISO-8859 2016-08-10 05:25:16 +00:00
encodings
ensurepip Update setuptools/pip to 25.2.0/8.1.2 2016-08-14 16:09:56 -04:00
html
http Issue #12319: Support for chunked encoding of HTTP request bodies 2016-08-24 06:33:33 +00:00
idlelib Fix typo in IDLE News. 2016-08-21 00:20:35 -04:00
importlib Merge for #27083 2016-07-16 10:45:16 -07:00
json Issue #4945: Improved the documenting of boolean arguments in the json module. 2016-06-30 14:03:21 +03:00
lib2to3 Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes. 2016-06-12 17:36:24 +03:00
logging Closes #27650: Implemented repr methods for logging objects. 2016-08-06 10:28:31 +01:00
msilib
multiprocessing
plat-aix4
plat-darwin
plat-freebsd4
plat-freebsd5
plat-freebsd6
plat-freebsd7
plat-freebsd8
plat-generic
plat-linux - Issue #23968: Rename the platform directory from plat-$(MACHDEP) to 2016-06-14 08:55:19 +02:00
plat-netbsd1
plat-next3
plat-sunos5
plat-unixware7
pydoc_data Update pydoc topics for 3.6.0a4 2016-08-15 16:12:59 -04:00
site-packages
sqlite3 Issue #21718: Merge from 3.5 2016-08-21 19:41:38 +03:00
test Issue #12319: Support for chunked encoding of HTTP request bodies 2016-08-24 06:33:33 +00:00
tkinter Merge with 3.5 2016-08-16 01:44:31 -04:00
turtledemo
unittest Issue #26750: use inspect.isdatadescriptor instead of our own 2016-08-15 23:56:32 -07:00
urllib Issue #12319: Support for chunked encoding of HTTP request bodies 2016-08-24 06:33:33 +00:00
venv Closes #22829: Added --prompt option to venv. 2016-08-06 10:43:44 +01:00
wsgiref Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
xml Issue #23804: Merge spelling and NEWS fixes from 3.5 2016-07-11 12:54:44 +00:00
xmlrpc Issue #23804: Merge spelling and NEWS fixes from 3.5 2016-07-11 12:54:44 +00:00
__future__.py
__phello__.foo.py
_bootlocale.py
_collections_abc.py Issue 27598: Add Collections to collections.abc. 2016-08-23 10:47:07 -07:00
_compat_pickle.py
_compression.py
_dummy_thread.py
_markupbase.py
_osx_support.py
_pydecimal.py merge 2016-08-13 11:15:59 -07:00
_pyio.py Drop unused import 2016-06-12 01:56:50 +00:00
_sitebuiltins.py
_strptime.py
_threading_local.py
_weakrefset.py
abc.py
aifc.py
antigravity.py
argparse.py Issue #12713: reverted fix pending further discussion. 2016-08-23 08:43:16 +01:00
ast.py
asynchat.py
asyncore.py
base64.py
bdb.py
binhex.py
bisect.py
bz2.py
calendar.py
cgi.py
cgitb.py
chunk.py
cmd.py
code.py Issue #27573 make the exit message configurable. 2016-08-24 01:42:15 +10:00
codecs.py
codeop.py
colorsys.py
compileall.py
configparser.py
contextlib.py Issue #27123: When an exception is raised within the context being 2016-06-14 09:24:31 -07:00
copy.py
copyreg.py
cProfile.py
crypt.py
csv.py
datetime.py Closes #27710: Disallow fold not in [0, 1] in time and datetime constructors. 2016-08-08 17:05:40 -04:00
decimal.py
difflib.py
dis.py
doctest.py
dummy_threading.py
enum.py issue26981: add _order_ compatibility shim to enum.Enum 2016-08-20 07:19:31 -07:00
filecmp.py
fileinput.py
fnmatch.py
formatter.py
fractions.py Issue #27832: Make _normalize parameter to Fraction.__init__ keyword-only. 2016-08-23 16:16:52 +01:00
ftplib.py
functools.py
genericpath.py
getopt.py
getpass.py
gettext.py
glob.py
gzip.py
hashlib.py
heapq.py
hmac.py
imaplib.py
imghdr.py
imp.py Merge for #26844 2016-07-15 10:59:11 -07:00
inspect.py
io.py
ipaddress.py Issue #20508: Improve exception message of IPv{4,6}Network.__getitem__ 2016-06-11 22:30:05 +03:00
keyword.py
linecache.py
locale.py
lzma.py
macpath.py
macurl2path.py
mailbox.py
mailcap.py
mimetypes.py
modulefinder.py
netrc.py
nntplib.py
ntpath.py
nturl2path.py
numbers.py
opcode.py Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes. 2016-06-12 17:36:24 +03:00
operator.py
optparse.py
os.py Issue #27186: Update os.fspath()/PyOS_FSPath() to check the return 2016-06-24 12:03:43 -07:00
pathlib.py Issue #27186: Add os.PathLike support to pathlib. 2016-06-10 12:20:49 -07:00
pdb.py
pickle.py Issue #17711: Fixed unpickling by the persistent ID with protocol 0. 2016-07-17 11:35:35 +03:00
pickletools.py
pipes.py
pkgutil.py Issue #26896: Disambiguate uses of "importer" with "finder". 2016-07-08 11:00:00 -07:00
platform.py Issue #27626: Spelling fixes in docs, comments and internal names 2016-07-28 01:11:04 +00:00
plistlib.py
poplib.py
posixpath.py #2466: ismount now recognizes mount points user can't access. 2016-08-18 21:27:48 -04:00
pprint.py
profile.py
pstats.py Issue #27241: Catch exception when running pstats as main. 2016-08-02 22:30:24 +02:00
pty.py
py_compile.py
pyclbr.py
pydoc.py - Issue #8637: Honor a pager set by the env var MANPAGER (in preference to 2016-06-14 09:03:52 +02:00
queue.py
quopri.py
random.py Minor beautification 2016-06-25 05:36:42 +03:00
re.py
reprlib.py
rlcompleter.py
runpy.py Issue #27487: Merge runpy warning from 3.5 2016-08-21 05:07:35 +00:00
sched.py
secrets.py
selectors.py
shelve.py
shlex.py Closes #21999: Handled empty strings correctly when in POSIX mode. 2016-08-09 15:04:49 +01:00
shutil.py Issue #27626: Merge spelling fixes from 3.5 2016-07-28 01:30:58 +00:00
signal.py
site.py
smtpd.py
smtplib.py Issue #27430: Fix typos, patch by scop. 2016-07-01 12:17:05 +03:00
sndhdr.py
socket.py Issue #27698: Add socketpair to socket.__all__ on Windows 2016-08-17 14:40:08 +02:00
socketserver.py Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
sre_compile.py
sre_constants.py
sre_parse.py Issue #27030: Unknown escapes consisting of `'\'` and ASCII letter in 2016-06-11 19:15:00 +03:00
ssl.py
stat.py
statistics.py Remove support for nth root of negative numbers with odd powers. 2016-08-24 12:48:12 +10:00
string.py
stringprep.py
struct.py
subprocess.py subprocess: enhance ResourceWarning message 2016-06-14 16:42:59 +02:00
sunau.py
symbol.py
symtable.py
sysconfig.py - Issue #23968: Rename the platform directory from plat-$(MACHDEP) to 2016-06-14 08:55:19 +02:00
tabnanny.py
tarfile.py Merge 3.5, issue #27194 2016-06-11 16:56:18 -07:00
telnetlib.py
tempfile.py
textwrap.py
this.py
threading.py Merge spelling and grammar fixes from 3.5 2016-08-05 01:51:39 +00:00
timeit.py Issue6422 add autorange method to timeit.Timer 2016-08-15 01:27:03 +10:00
token.py
tokenize.py
trace.py
traceback.py Issue #26823: Abbreviate recursive tracebacks 2016-08-15 13:11:34 +10:00
tracemalloc.py
tty.py
turtle.py Issue #27238: Got rid of bare excepts in the turtle module. Original patch 2016-06-14 22:52:04 +03:00
types.py
typing.py A new version of typing.py from https://github.com/python/typing. 2016-08-23 11:01:50 -07:00
uu.py
uuid.py
warnings.py
wave.py
weakref.py
webbrowser.py
xdrlib.py
zipapp.py
zipfile.py Issue #27029: Removed deprecated support of universal newlines mode from ZipFile.open(). 2016-06-11 19:32:44 +03:00