[Cuis] [4.1][Test] WebClient // Need for a HTTPSocket class port

H. Hirzel hannes.hirzel at gmail.com
Sat Dec 29 05:14:23 CST 2012


Other HttpSocket facade implementations to consider

  ZnEasy
  ZnHTTPSocketFacade

(both in Pharo 2.0beta)

And a place to put the class could be

https://github.com/garduino/Cuis-CompatibilityWithOtherSmalltalks

--HJH

On 12/29/12, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> Or better (from the comment of HttpSocket in Squeak 4.3)
>
>
> HTTPSockets is a facade for handling common HTTP requests. It provides
> a minimal implementation of the HTTP protocol, but can be extended by
> third party clients that register themselves as #httpRequestHandler
> (see class-side protocol).
>
> A third-party request handler needs to implement the single method
>
> 	#httpRequest:url:headers:content:response:
>
> in a way that is compatible with the baseline implementation in HTTPSocket.
>
>
>
>
>
>
>
> On 12/29/12, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>> BTW
>>
>> HTTPSocket  implements a Singleton
>>    52 class methods, 486 lines of code.
>>
>> Some of the classes referred in HTTPSocket have been renamed in Cuis.
>>
>>
>>
>> On 12/29/12, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>> Hello
>>>
>>> There is an initial version of a WebClient port on
>>>     https://github.com/davidgraham/Cuis-WebClient
>>>
>>>
>>> The messages on Transcript while loading
>>>    Cuis-WebClient.pck
>>>
>>> are copied in below. [1]
>>>
>>> The SUnit test runner on
>>>    WebClientServerTest
>>>
>>> hangs.
>>>
>>>
>>> However an access like
>>>
>>>    (WebClient httpGet: 'http://www.jvuletich.org/Cuis/Index.html')
>>> content
>>>
>>> works fine.
>>>
>>>
>>> Question: It seems that having a HTTPSocket is necessary.
>>>
>>> Cuis only has a
>>>    Socket
>>> class.
>>>
>>>
>>> I then filed out HttpSocket from Squeak4.4-12324 and filed it into
>>> Cuis 4.1. The Transcript is copied in below [2].
>>>
>>> Any suggestions how to proceed?
>>>
>>> Is somebody working on a HttpSocket class for Cuis?
>>>
>>>
>>> --Hannes
>>>
>>>
>>>
>>>
>>>
>>> [1] Transcript output while filing in Cuis-WebClient.pck
>>>
>>> #(27 December 2012 10:13:47 pm) Cuis4.1.image priorSource: 2344746
>>> a FileList=============
>>>
>>> WebClient>>digestAuth:from:header:params: (UUID is Undeclared)
>>> WebClient class>>httpRequest:url:headers:content:response: (HTTPSocket
>>> is Undeclared)
>>> WebClient class>>httpRequest:url:headers:content:response:
>>> (HTTPProgress is Undeclared)
>>> WebClient class>>httpRequest:url:headers:content:response:
>>> (MIMEDocument is Undeclared)
>>> WebClient class>>registerHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClient class>>registerHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClient class>>registerHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClient class>>registerHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClient class>>unregisterHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClient class>>unregisterHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClient class>>unregisterHttpSocketRequestHandler (HTTPSocket is
>>> Undeclared)
>>> WebClientServerTest>>expectedFailures (HTTPSocket is Undeclared)
>>> WebClientServerTest>>testAuthRedirectSession (UUID is Undeclared)
>>> WebClientServerTest>>testMultipartFiles (MIMEDocument is Undeclared)
>>> WebClientServerTest>>testMultipartFiles2 (MIMEDocument is Undeclared)
>>> WebClientServerTest>>testMultipartFiles2 (HTTPSocket is Undeclared)
>>> WebClientServerTest>>testMultipartFiles2 (HTTPSocket is Undeclared)
>>> WebClientServerTest>>testMultipartFiles2 (HTTPSocket is Undeclared)
>>> WebClientServerTest>>testMultipartFiles2 (HTTPSocket is Undeclared)
>>> WebClientServerTest>>testPersistentAuthRedirectSession (UUID is
>>> Undeclared)
>>> WebMessage>>contentWithProgress: (ByteString is Undeclared)
>>> WebRequest>>send200Response: (UTF8TextConverter is Undeclared)
>>> WebRequest>>send404Response: (UTF8TextConverter is Undeclared)
>>> WebServer>>newNonce (UUID is Undeclared)
>>> WebServer>>systemInfoOn: (SmalltalkImage is Undeclared)
>>> WebServer>>systemInfoOn: (SecurityManager is Undeclared)
>>> WebServer>>systemInfoOn: (SmalltalkImage is Undeclared)
>>> WebServer class>>benchmark (NullStream is Undeclared)
>>> WebServer class>>benchmark (NullStream is Undeclared)
>>> WebServer class>>exampleSession (UUID is Undeclared)
>>> WebUtils class>>defaultProxyServer (HTTPSocket is Undeclared)
>>> WebUtils class>>defaultProxyServer (HTTPSocket is Undeclared)
>>> WebUtils class>>defaultProxyServer (HTTPSocket is Undeclared)
>>> WebUtils class>>defaultProxyServer (HTTPSocket is Undeclared)
>>> WebUtils class>>defaultProxyServer (HTTPSocket is Undeclared)
>>> WebUtils class>>encodeMultipartForm:boundary: (MIMEDocument is
>>> Undeclared)
>>> WebUtils class>>handleAuth: (UIManager is Undeclared)
>>> WebUtils class>>handleAuth: (UIManager is Undeclared)
>>> WebUtils class>>oAuthSign:url:extra:using: (UUID is Undeclared)
>>> WebUtils class>>proxyExceptionsDo: (HTTPSocket is Undeclared)
>>> WebUtils class>>sha1Hash: (SecureHashAlgorithm is Undeclared)
>>> WebUtils class>>webSocketHash07: (SecureHashAlgorithm is Undeclared)
>>> Package Cuis-WebClient successfully installed
>>> Undeclared: a Dictionary(#ByteString->nil #HTTPProgress->nil
>>> #HTTPSocket->nil #MIMEDocument->nil #NullStream->nil
>>> #SecureHashAlgorithm->nil #SecurityManager->nil #SmalltalkImage->nil
>>> #UIManager->nil #UTF8TextConverter->nil #UUID->nil )
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> [2] Transcript log of filing in HTTPSocket.st as exported from
>>> Squeak4.4-12324
>>>
>>> HTTPSocket class>>initialize (ExternalSettings is Undeclared)
>>> HTTPSocket class>>httpGetDocument:args:accept:request: (Url is
>>> Undeclared)
>>> HTTPSocket class>>httpGif: (GIFReadWriter is Undeclared)
>>> HTTPSocket class>>httpJpeg: (JPEGReadWriter is Undeclared)
>>> HTTPSocket class>>httpPost:content:type:accept:request: (Url is
>>> Undeclared)
>>> HTTPSocket class>>httpPostMultipart:args:accept:request: (MIMEDocument
>>> is Undeclared)
>>> HTTPSocket class>>httpPut:to:user:passwd: (Url is Undeclared)
>>> HTTPSocket class>>httpRequest:url:headers:content:response:
>>> (HTTPProgress is Undeclared)
>>> HTTPSocket class>>httpRequest:url:headers:content:response:
>>> (HTTPProgress is Undeclared)
>>> HTTPSocket class>>httpRequest:url:headers:content:response:
>>> (MIMEDocument is Undeclared)
>>> HTTPSocket class>>httpShowChunk: (StringHolder is Undeclared)
>>> HTTPSocket class>>httpShowPage: (StringHolder is Undeclared)
>>> HTTPSocket class>>fetchExternalSettingsIn: (ExternalSettings is
>>> Undeclared)
>>> HTTPSocket class>>showImage:named: (Project is Undeclared)
>>> MessageNotUnderstood: UndefinedObject>>registerClient:
>>> while evaluating: HTTPSocket initialize
>>> MessageNotUnderstood: Preferences class>>valueOfPreference:
>>> while evaluating: HTTPSocket initialize
>>> MessageNotUnderstood: Preferences class>>valueOfPreference:
>>> while evaluating: HTTPSocket initialize
>>> MessageNotUnderstood: Preferences class>>valueOfPreference:
>>> while evaluating: HTTPSocket initialize
>>> MessageNotUnderstood: Preferences class>>valueOfPreference:
>>> while evaluating: HTTPSocket initialize
>>>
>>
>




More information about the Cuis mailing list