[Zope-dev] Client.py looses port? Bug?

Loren Stafford lstafford@icompression.com
Fri, 10 Mar 2000 14:00:38 -0800


I've found that absolute_url does not return the port number when the
request was created by client.py.

I may not have isolated the problem at the most detailed level, but here's
one way to reproduce it. An object (zev3) in this case has two methods for
the purposes of isolating this problem:

  def shoot(self, client=None, REQUEST=None, RESPONSE=None, **kw):
    """Track down a problem in absolute_url()
    """
    from ZPubLisher import Client
    import Loggerr
    loggerr=Loggerr.loggerr
    myurl=self.absolute_url()
    emsg='Shoot: %s' % myurl
    loggerr(100, emsg, detail='')
    Client.call('%s/%s' % (myurl, 'show'))


  def show(self, client=None, REQUEST=None, RESPONSE=None, **kw):
    """Track down a problem in absolute_url()
    """
    import Loggerr
    loggerr=Loggerr.loggerr
    emsg='Show: %s'% self.absolute_url()
    loggerr(100, emsg, detail='')

Executing "show" by typing "http://127.0.0.1:8080/zev3/show" into the
browser produces this log entry.

------
2000-03-10T21:47:04 PROBLEM(100) Products.ZScheduler.Loggerr Show:
http://127.0.
0.1:8080/zev3

Executing "show" by typing "http://127.0.0.1:8080/zev3/shoot" into the
browser produces this log entry.

------
2000-03-10T21:44:19 PROBLEM(100) Products.ZScheduler.Loggerr Shoot:
http://127.0.0.1:8080/zev3
------
2000-03-10T21:44:19 PROBLEM(100) Products.ZScheduler.Loggerr Show:
http://127.0.0.1/zev3

What happened with the port?

I'll try to track this down further, but I'm afraid the problem is in the
depths of ZPublisher somewhere. Any hints would be appreciated.

-- Thanks
-- Loren