Hello,<div><br></div><div>I am busy updating the CloudforkAWS code to use WebClient as a the HTTP client. CloudforkAWS provides a Smalltalk API to the Amazon AWS REST services.</div><div><br></div><div>WebClient works really well, the not so common HTTP methods like HEAD, DELETE and PUT that the Simple Storage Service (S3) require work without any problems :-)</div>
<div><br></div><div>There is only one small problem. The WebClient&gt;&gt;httpGet:do: method always encodes the urlString. In my situation the url is already encoded and encoding it a second time leads to errors. In my code I encode the individual query parameters names and values before I compose the complete url. If you have a parameters like this I think it is the only correct way:</div>
<div><br></div><div>param1=you&amp;me</div><div>param2=coming for dinner?</div><div><br></div><div>So I added the following methods to WebClient:</div><div><br></div><div><div>httpGet: urlString encoded: isEncoded do: aBlock</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>&quot;GET the response from the given url&quot;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>| request |</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>self initializeFromUrl: urlString.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>request := self requestWithUrl: urlString encoded: isEncoded.</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>request method: &#39;GET&#39;.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>userAgent ifNotNil:[request headerAt: &#39;User-Agent&#39; put: userAgent].</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>aBlock value: request.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>^self sendRequest: request</div></div><div><br></div><div>and:</div>
<div><br></div><div><div>requestWithUrl: urlString encoded: isEncoded</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&quot;Create an return a new WebRequest initialized with the given url.</div><div>
<span class="Apple-tab-span" style="white-space:pre">        </span>Subclasses can use this method to override the default request class.&quot;</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>^WebRequest new initializeFromUrl: urlString encoded: isEncoded.</div>
</div><div><br></div><div>It would be great if these methods are incorporated in the base package.</div><div><br></div><div>Jan.</div><div><br></div>