[squeak-dev] The Inbox: WebClient-HTTP-cmm.5.mcz
Chris Muller
asqueaker at gmail.com
Sun Sep 11 22:09:17 UTC 2016
No, that fails too.
On Sun, Sep 11, 2016 at 5:05 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
>
> 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
|