Hello,

I am playing around with the new ExtFile product released a few days ago,
in addition to a similar product I wrote myself. Both are exhibiting an
unusual behavior. In the index_html method, I have:

  RESPONSE.setHeader('Content-Type', 'video/foo')
  RESPONSE.setHeader('Content-Length', 1212)

Then, I return the file data. If I launch python and do:

  import Zope, ZPublisher
  ZPublisher.Zope('/path/to/myfile.mpg', d=1)

I can trace the execution of these lines. The headers are set correctly in
the response and, as far as I can tell, are returned correctly in the last
statement my trace executed ("return response").

However, when I telnet to my web port and do:

  HEAD /path/to/myfile.mpg HTTP/1.0

I get:

  Content-Type: video/mpeg
  Content-Length: 0

Remember, I set content-type to video/foo, and length to 1212. These have
been stepped on, I believe, by ZServer. I found this section in 
ZServer/medusa/default_handler.py:

  request['Last-Modified'] = http_date.build_http_date (mtime)
  request['Content-Length'] = file_length
  self.set_content_type (path, request)

While I don't know, for sure, that this is what's causing my problem, it
looks suspect to me.

The curious thing is, using Zope's File object (defined in
lib/python/OFS/Image.py), I get the correct Content-Length coming back. I
did not check to see if Content-Type was overwritten or not. As far as I
can tell, there is no difference in the way my code returns the file data
versus the way Zope's File object does.

Anyone know what's going on?

--Jeff

---
Jeff K. Hoffman                               704.849.0731 x108
Chief Technology Officer                      mailto:[EMAIL PROTECTED]
Going Virtual, L.L.C.                         http://www.goingv.com/


_______________________________________________
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )

Reply via email to