Http params set are not set when http.setMethod('put').
You can see it if your use
<cfscript>
function test(){
local.http = new http();
local.http.setMethod('put');
local.http.setURL('http://testdomain/formtest/');
local.http.addParam(type="formfield",name='email',value='test@test.com');
local.httpSendResult = local.http.send();
local.httpResult = httpSendResult.getPrefix();
return local.httpResult;
}
Writeoutput(test().filecontent);
</cfscript>
And then on the test domain use this to echo back any sent variables
<cfparam name="form" default="#structNew()#">
<cfoutput>#serializeJSON(form)#</cfoutput>
i did adapt your changes with minor changes, thanks.