>From 7c44217798e5572ceb06a224dd97da0407d3d374 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 6 Mar 2011 16:03:17 +0100 Subject: [PATCH 1/7] netclients: Create URIResolver>>#defaultHeaders Align the HTTP GET/POST/HEAD code and share the HTTP header construction code in those. --- packages/net/ChangeLog | 4 ++++ packages/net/URIResolver.st | 26 ++++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/net/ChangeLog b/packages/net/ChangeLog index 0fbd2e5..84e6d35 100644 --- a/packages/net/ChangeLog +++ b/packages/net/ChangeLog @@ -1,3 +1,7 @@ +2011-03-06 Holger Hans Peter Freyther + + * URIResolver.st: Add #defaultHeaders for HTTP. + 2011-01-11 Paolo Bonzini * gnutls-wrapper.c: Support older GnuTLS. diff --git a/packages/net/URIResolver.st b/packages/net/URIResolver.st index f3eafbd..1c52658 100644 --- a/packages/net/URIResolver.st +++ b/packages/net/URIResolver.st @@ -75,6 +75,17 @@ Copyright (c) Kazuki Yasumatsu, 1995. All rights reserved. ^entity stream ] + defaultHeaders [ + "The default headers for HTTP like requests" + | requestHeaders | + requestHeaders := OrderedCollection new. + requestHeaders add: 'User-Agent: GNU-Smalltalk/' , Smalltalk version. + requestHeaders add: 'Accept: text/html, image/gif, */*; q=0.2'. + noCache ifTrue: [requestHeaders add: 'Pragma: no-cache']. + + ^ requestHeaders + ] + connectClient [ | host | @@ -494,11 +505,8 @@ Copyright (c) Kazuki Yasumatsu, 1995. All rights reserved. requestHttpContents: urlString [ | requestHeaders tmpFile stream protocolError response string | - requestHeaders := OrderedCollection new. - requestHeaders add: 'User-Agent: GNU-Smalltalk/' , Smalltalk version. - requestHeaders add: 'Accept: text/html, image/gif, */*; q=0.2'. + requestHeaders := self defaultHeaders. requestHeaders add: 'Host: ' , url host. - noCache ifTrue: [requestHeaders add: 'Pragma: no-cache']. client reporter statusString: 'Connecting'. protocolError := false. client reporter @@ -568,11 +576,8 @@ Copyright (c) Kazuki Yasumatsu, 1995. All rights reserved. requestHttpHead: urlString [ | requestHeaders tmpFile stream protocolError response string | - requestHeaders := OrderedCollection new. - requestHeaders add: 'User-Agent: GNU-Smalltalk/' , Smalltalk version. - requestHeaders add: 'Accept: text/html, image/gif, */*; q=0.2'. + requestHeaders := self defaultHeaders. requestHeaders add: 'Host: ' , url host. - noCache ifTrue: [requestHeaders add: 'Pragma: no-cache']. client reporter statusString: 'Connecting'. client reporter statusString: 'Connect: Host contacted. Waiting for reply...'. @@ -645,10 +650,7 @@ Copyright (c) Kazuki Yasumatsu, 1995. All rights reserved. postHttpContents: contents urlString: urlString [ | requestHeaders tmpFile stream protocolError response string | - requestHeaders := OrderedCollection new. - requestHeaders add: 'User-Agent: GNU-Smalltalk/' , Smalltalk version. - requestHeaders add: 'Accept: text/html, image/gif, */*; q=0.2'. - noCache ifTrue: [requestHeaders add: 'Pragma: no-cache']. + requestHeaders := self defaultHeaders. client reporter statusString: 'Connect: Host contacted. Waiting for reply...'. stream := self tmpFile. -- 1.7.4