Bijan,
Please try the attached fix. If you see an HttpAdaptor inspector, it
indicates that the HttpRequest wasn't completed (i.e., the client may
have canceled or something BAD happened). Moreover, since I changed
the logic to handle such condition from raising an error (BadRequest)
to simply returning nil, the socket doesn't get closed.
I'm not sure if this fixes anything, though, because my testing didn't
show any change either with or without this fix (I discovered the bug
by reading the code).
Bolot
'From Squeak2.8 of 13 June 2000 [latest update: #2359] on 14 February 2001 at 12:51:03
pm'!
!HttpAdaptor methodsFor: 'processing' stamp: 'bolot 2/14/2001 12:41'!
beginConversation
startTime _ Time millisecondClockValue.
[
(self pvtReadRequest) ifNotNil:
[self pvtGetResponseAndDo:
["self pvtWriteLogAndDestroy"
self
pvtWriteResponse]
].
self pvtDestroy
] on: Error
do: [ :ex |
(Preferences standaloneServer) ifTrue:
[self pvtDestroy.
self pvtHandleError: ex]
ifFalse: "re-raise the exception"
[ex signal].
]! !