﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	launchpad_bug
537	Web-API does not correctly handle partial Range header	francois		"An HTTP request containing a partial range header raise the following exception even though it must be accepted according to RFC2616 section ""14.35.1 Byte Ranges"".

{{{
2008-11-18 14:45:23+0100 [HTTPChannel,4,127.0.0.1] Unhandled Error
	Traceback (most recent call last):
	  File ""/usr/lib/python2.5/site-packages/twisted/internet/defer.py"", line 186, in addCallbacks
	    self._runCallbacks()
	  File ""/usr/lib/python2.5/site-packages/twisted/internet/defer.py"", line 328, in _runCallbacks
	    self.result = callback(self.result, *args, **kw)
	  File ""/home/francois/dev/tahoe/support/lib/python2.5/site-packages/Nevow-0.9.31-py2.5.egg/nevow/appserver.py"", line 188, in _cbFinishRender
	    return self.gotPageContext(pageContext)
	  File ""/home/francois/dev/tahoe/support/lib/python2.5/site-packages/Nevow-0.9.31-py2.5.egg/nevow/appserver.py"", line 163, in gotPageContext
	    pageContext.tag.renderHTTP, pageContext
	--- <exception caught here> ---
	  File ""/usr/lib/python2.5/site-packages/twisted/internet/defer.py"", line 106, in maybeDeferred
	    result = f(*args, **kw)
	  File ""/home/francois/dev/tahoe/src/allmydata/web/filenode.py"", line 381, in renderHTTP
	    (str(offset), str(offset+size-1), str(filesize)))
	exceptions.TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
}}}

This request was generated by mplayer accessing an avi file stored in tahoe.

{{{
GET /file/URI%3ACHK%3foo%3bar/@@named=/test.avi HTTP/1.0

Host: localhost:8123
User-Agent: MPlayer/2:1.0~rc2-0ubuntu17-francois0
Icy-MetaData: 1
Range: bytes=2048-
Connection: close
}}}"	defect	closed	minor	1.3.0	code-frontend-web	1.2.0	fixed		francois@…	
