[squeak-dev] The Inbox: WebClient-HTTP-cmm.5.mcz

Tobias Pape Das.Linux at gmx.de
Sun Sep 11 22:05:23 UTC 2016


On 12.09.2016, at 00:02, Chris Muller <asqueaker at gmail.com> wrote:

> With this fix, I can do:
> 
>   'https://www.quandl.com/api/v3/databases.csv' asUrl retrieveContents
> 
> without, I can't.


Well, shouldn't it be something like this then?:

Accept: text/html; q=1.0, */*; q=0.1

Best regards
	-Tobias

> 
> On Sun, Sep 11, 2016 at 4:59 PM,  <commits at source.squeak.org> wrote:
>> Chris Muller uploaded a new version of WebClient-HTTP to project The Inbox:
>> http://source.squeak.org/inbox/WebClient-HTTP-cmm.5.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: WebClient-HTTP-cmm.5
>> Author: cmm
>> Time: 11 September 2016, 4:59:26.542985 pm
>> UUID: e203b772-bc1c-4516-8bf4-4ea1bc1edb7d
>> Ancestors: WebClient-HTTP-cmm.4
>> 
>> Don't force Accept header of 'text/html', let clients specify that if its appropriate.  This fixes accessing servers that demand it not be present.
>> 
>> =============== Diff against WebClient-HTTP-cmm.4 ===============
>> 
>> Item was changed:
>>  ----- Method: HTTPSocket class>>httpGetDocument:args:accept:request: (in category '*webclient-http') -----
>>  httpGetDocument: url args: args accept: mimeType request: requestString
>>        "Return the exact contents of a web object. Asks for the given MIME type. If mimeType is nil, use 'text/html'. An extra requestString may be submitted and must end with crlf.  The parsed header is saved. Use a proxy server if one has been registered.  tk 7/23/97 17:12"
>> 
>>        "Note: To fetch raw data, you can use the MIME type 'application/octet-stream'."
>> 
>>        | client xhdrs resp urlString progress |
>>        "Normalize the url"
>>        urlString := (Url absoluteFromText: url) asString.
>> 
>>        args ifNotNil: [
>>                urlString := urlString, (self argString: args)
>>        ].
>> 
>>        "Some raw extra headers which historically have been added"
>>        xhdrs := HTTPProxyCredentials,
>>                HTTPBlabEmail,  "may be empty"
>>                requestString.  "extra user request. Authorization"
>> 
>>        client := WebClient new.
>>        ^[resp := client httpGet: urlString do:[:req|
>>                "Add ACCEPT header"
>>                mimeType ifNotNil:[req headerAt: 'Accept' put: mimeType].
>> 
>> -               "Always accept plain text"
>> -               req addHeader: 'Accept' value: 'text/html'.
>> -
>>                "Add the additional headers"
>>                (WebUtils readHeadersFrom: xhdrs readStream)
>>                        do:[:assoc| req addHeader: assoc key value: assoc value]].
>> 
>>        progress := [:total :amount|
>>                (HTTPProgress new) total: total; amount: amount; signal: 'Downloading...'
>>        ].
>> 
>>        "Simulate old HTTPSocket return behavior"
>>        (resp code between: 200 and: 299)
>>                ifTrue:[MIMEDocument contentType: resp contentType
>>                                content: (resp contentWithProgress: progress) url: url]
>>                ifFalse:[resp asString, resp content].
>>        ] ensure:[client destroy].
>>  !
>> 
>> 
> 



More information about the Squeak-dev mailing list