>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