Re: HTTPChannel class attributes

[email protected]
Newsgroups gmane.comp.python.twisted.web
Message-ID <20121006133008.7857.1246115532.divmod.xquotient.248@localhost6.localdomain6>
On 06:46 am, [email protected] wrote:
>Should http.py :: HTTPChannel.__first_line be an instance attribute 
>instead of a class attribute?

It doesn't matter.  It "becomes" an "instance attribute" as soon as it 
is assigned a value.  This is probably covered in the Python 
documentation somewhere, but I can't find it.
>
>I have a custom scenario where I sub-classed HTTPChannel for my sub- 
>classed HTTPFactory.  In the DerivedHTTPChannel class I overrode the 
>allContentReceived() method.

The problem is that you cannot set __first_line to 1 in a subclass named 
`DerivedHTTPChannel`.  __first_line is a mangled attribute.  See 9.6 on:

    http://docs.python.org/tutorial/classes.html

Additionally, anything starting with "_" is private and if you use it, 
your code is more likely to be broken by a future release of Twisted.

See http://twistedmatrix.com/trac/wiki/CompatibilityPolicy

What are you trying to accomplish with your HTTPChannel subclass?

Jean-Paul
>I recently enabled persistent connections, but setting 
>self.__first_line = 1 in the DerivedHTTPChannel was ineffective, and 
>the first line of the next request threw an exception when it got 
>parsed as an http header.  Similar question "probably" apply to other 
>class attributes.
>
>Should such attributes be instance attributes instead of class 
>attributes? Or is it anticipated that any class who derives from 
>HTTPChannel should override almost all the methods of the base class?
>
>Thanks,
>Arun

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.