Hi Oleg, hi all,

I've taken a look on the JavaDoc level and want to
make a few observations:

AbortableHttpRequest:
I like the approach of using an optional interface and
leaving the responsibility with the caller. I would
have created some internal maps with really complicated
garbage collection to avoid the latter :-) Default
request implementations that support the optional
interface are much simpler.

Cookie:
The isExpired() method calls System.currentTimeMillis()
rather than comparing against an argument. This has some
implications which I don't like:
- it assumes that the system clock is the authoritative
  source for the time to compare against, preventing code
  from (pretending to) act in the past or future or based
  on an external clock
- when scanning a set of cookies, the system time is
  queried by each cookie. That call is not for free, and
  it can return different values over time. I would much
  prefer a single call to determine the system time,
  passing the value to each comparison method afterwards.
The 3.x version of Cookie had a second isExpired() taking
a Date argument. Passing in the time to compare against
as a long would also be fine by me.
Of course such comparisons can be implemented externally.
But HttpState (see below) has a purgeExpiredCookies()
which is based on Cookie.isExpired() w/o argument. The
default behavior there should not be to get the system
time once for each cookie to consider.

HttpState:
We've talked about that during the High Level Design.
It's good enough for alpha1, but should be split into
it's different aspects afterwards.

cheers,
  Roland

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to