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

H. Hirzel hannes.hirzel at gmail.com
Sat Dec 29 04:58:54 CST 2012


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