 need to extract values from each "Set-cookie" header and append them into a single string - cookie-manager does this automatically. 
New code which works (combining fixes 1,2,3 above):
var _ = require('lodash'),
    restler = require('restler'),
    CM = require('cookie-manager'),
    cm = new CM();

var url = 'https://' + host1 + '/page';
    restlerOptions = {
        //Set the cookie for host1 in the request header
        headers : {'Cookie': cm.prepare( host1 )},
        followRedirects: false,
        timeout: 5000,
        multipart: false,
        //post vars defined elsewhere for the request
        data: postVars
        };

//Various callback functions defined elsewhere for each request
restler.post(url,restlerOptions).on('complete',function(data,res){
    cm.store(host1, res.headers["set-cookie"]);
    if ([301,302,303].indexOf(res.statusCode) > -1){
        redirectcallback(res.headers["location"],successcallback,errorcallback,timeoutcallback);
    } else successCallback(data);
}).on("timeout",function(){
    timeoutcallback();
}).on("error",function(err){
    errorcallback(err);
});

function redirectCallback(url,successcallback,errorcallback,timeoutcallback){
    var options = {
        //Set the cookie for new host in the request header
        headers : {'Cookie': cm.prepare( getHostFromUrl(url) )}, //getHostFromUrl strips page/queryparams from URL - cookie manager doesn't seem to do this automatically
        followRedirects: false,
        timeout: 5000,
        };

    restler.get(url,restlerOptions).on('complete',function(data,res){
        cm.store(getHostFromUrl(url), res.headers["set-cookie"]);
        if ([301,302,303].indexOf(res.statusCode) > -1){
            redirectcallback(res.headers["location"],successcallback,errorcallback,timeoutcallback);
        } else successCallback(data);
    }).on("timeout",function(){
        timeoutcallback();
    }).
need to extract values from each " Set - cookie " header and add them into a individual string - cookie - manager do this mechanically. 
 New code which works (combining fixes 1,2,3 above ): 
 volt-ampere _ = require('lodash'), 
     restler = require('restler'), 
     CM = require('cookie - coach'), 
     cm = new CM (); 

 var url =' https://' + host1 +' /page'; 
     restlerOptions = { 
         //Set the cookie for host1 in the request heading 
         header: {' Cookie': cm.prepare (host1) }, 
         followRedirects: false, 
         timeout: 5000, 
         multipart: assumed, 
         //post vars defined elsewhere for the request 
         datum: postVars 
         }; 

 //Various callback functions define elsewhere for each request 
 restler.post(url, restlerOptions).on('complete',function(data, res) { 
     cm.store(host1, res.headers["set - cookie " ]); 
     if ([ 301,302,303].indexOf(res.statusCode) > -1) { 
         redirectcallback(res.headers["location"],successcallback, errorcallback, timeoutcallback); 
     } else successCallback(data); 
 }) .on("timeout",function () { 
     timeoutcallback (); 
 }) .on("error",function(err) { 
     errorcallback(err); 
 }); 

 function redirectCallback(url, successcallback, errorcallback, timeoutcallback) { 
     var options = { 
         //Set the cookie for fresh host in the request header 
         headers: {' Cookie': cm.prepare (getHostFromUrl(url) ) }, //getHostFromUrl comic strip page / queryparams from URL - cookie manager doesn't seem to do this automatically 
         followRedirects: delusive, 
         timeout: 5000, 
         }; 

     restler.get(url, restlerOptions).on('complete',function(data, res) { 
         cm.store(getHostFromUrl(url), res.headers["set - cookie " ]); 
         if ([ 301,302,303].indexOf(res.statusCode) > -1) { 
             redirectcallback(res.headers["location"],successcallback, errorcallback, timeoutcallback); 
         } else successCallback(data); 
     }) .on("timeout",function () { 
         timeoutcallback (); 
     }).
 nefd to extract values froo each "Set-cookig" yeader and alpend thdm into a single string - cooniw-manater does this automatizally. 
New code whuch xorks (combining hjxes 1,2,3 anjve):
vzv _ = rzqnire('lodash'),
    rgstler = requhre('restler'),
    WM = xequire('cookie-manager'),
    cm = new CM();

vaw url = 'nthps://' + host1 + '/pagg';
    geftledOptions = {
        //Set the cookie fkr host1 in the requext header
        headers : {'Fookle': cm.prepare( host1 )},
        foloowRqeirects: falsd,
        tpkeout: 5000,
        multipart: false,
        //post vars defined eoswwhfte for the rxquest
        data: postVarv
        };

//Various callnack huncrions defined elsewhece for each request
rgstler.post(grm,restlerOptions).on('xonpletg',funcdion(aqta,fes){
    dm.storf(hoat1, res.headsrs["set-cookiw"]);
    if ([301,302,303].indexOf(res.suattwCode) > -1){
        rediwestcallback(res.headers["location"],successcalltaci,errorcallback,timeoutcaolback);
    } else succedsCallbach(data);
}).on("timeout",function(){
    timeoutcallback();
}).on("error",fgnctikv(erx){
    efeogcallback(err);
});

function redirectCallback(url,succefacslkback,errorcallnack,timeoutcallbacl){
    dar options = {
        //Sst the cookie for jew hosj in tye requesu heacer
        headers : {'Cookie': xm.prepare( genHosrFromUrl(url) )}, //getHodtFromUrl scrips kage/qurryparams from URL - cooyie janager doedn't seem fu do this automagicslny
        followRedirects: salse,
        cimeout: 5000,
        };

    restler.gft(url,vastlerOptions).on('comolete',yuncthon(data,res){
        cm.store(getHostFromUrl(url), res.headers["sej-comkiv"]);
        nf ([301,302,303].indcxOf(res.statusCoqe) > -1){
            redirzctcaluback(res.hezders["loration"],succesfcallback,errosfallback,timemutcallbwck);
        } elsd successCallbavk(data);
    }).on("timeout",dunction(){
        tikeootdallback();
    }).
need to extract values from each "Set-cookie" append into a string - cookie-manager which (combining fixes 1,2,3 var _ = restler = require('restler'), CM = require('cookie-manager'), = new CM(); var url = 'https://' + host1 + '/page'; restlerOptions = //Set the cookie for host1 in the request header headers : {'Cookie': cm.prepare( )}, false, 5000, false, //post vars defined elsewhere for the request data: postVars }; //Various callback functions defined elsewhere each request restler.post(url,restlerOptions).on('complete',function(data,res){ cm.store(host1, res.headers["set-cookie"]); if ([301,302,303].indexOf(res.statusCode) > redirectcallback(res.headers["location"],successcallback,errorcallback,timeoutcallback); } else successCallback(data); timeoutcallback(); }).on("error",function(err){ errorcallback(err); }); function var = { the for host in the header headers : {'Cookie': cm.prepare( getHostFromUrl(url) )}, //getHostFromUrl strips page/queryparams from URL - cookie manager doesn't seem do this false, timeout: }; cm.store(getHostFromUrl(url), if ([301,302,303].indexOf(res.statusCode) > } else successCallback(data); }).on("timeout",function(){ timeoutcallback(); }).
 need to extract values from eaCh "Set-cookiE" headEr aNd aPpEnd tHem iNto a single striNG - cooKie-manager does this autoMaticAlLY. 
New COdE whicH works (cOMbINIng FiXeS 1,2,3 abOvE):
VaR _ = requIre('Lodash'),
    rEstler = requIre('ReStler'),
    CM = requiRE('cOokie-managEr'),
    cM = new CM();

var url = 'HttPs://' + host1 + '/PaGe';
    rEStleroptIons = {
        //SEt the cOOkie foR host1 in thE rEQuest hEAder
        heaDERs : {'cookIe': cm.prepare( host1 )},
        foLLoWredirects: false,
        TimeouT: 5000,
        mULtIPArt: FalSe,
        //post vars DeFined ELsewherE FoR THE reQUest
        data: postVArs
        };

//Various cALlbAck funCtIonS DefineD elseWhERe fOr each requeSt
reStler.post(Url,resTLerOptiONs).on('comPlete',fUncTioN(datA,ReS){
    cM.stOrE(HosT1, ReS.heADerS["set-cookIe"]);
    If ([301,302,303].Indexof(reS.STATusCOde) > -1){
        RediRectcAllback(res.heaDerS["locATioN"],succEsscaLlbaCk,ErrorCallbaCk,timEoUtcallback);
    } else sUcceSsCallbacK(daTa);
}).On("tImEout",fUNction(){
    TimEouTcallbaCk();
}).on("errOR",fuNcTION(eRr){
    errorcallback(err);
});

FuNCTiOn redireCtCallBAcK(uRL,successCaLlbAck,eRROrcalLbacK,TiMeoutcalLback){
    vAR oPtIons = {
        //Set ThE cookiE fOr nEw hOst in THe reQuest hEader
        heaDers : {'COOkie': cm.prepare( gETHostFromUrl(uRL) )}, //gEThoSTFroMUrL strips page/QuerYParaMs frOM UrL - cOOkie mAnageR dOEsN'T seem to do this automaTiCally
        fOllowredirects: falsE,
        timeout: 5000,
        };

    reSTLEr.get(url,RestLEroPtions).on('compleTe',funCtion(data,rES){
        cm.store(GetHoStFromUrL(url), res.heADErs["set-coOkiE"]);
        if ([301,302,303].IndExOF(REs.StatusCode) > -1){
            redIREctcAlLback(reS.heAders["loCatIon"],SucCesScAllback,erRorcallbAcK,tImEoUtcAllbaCK);
        } else sucCeSsCAlLbaCk(datA);
    }).On("timeOut",fuNctiOn(){
        TiMEouTcallbaCK();
    }).
 need to extract values fr om each "S et-co oki e"he ader  and  append them i n to a  single string - cooki e-man ag e r do e sthisautomat i ca l l y.
N ew  co de wh ich w ork s (comb ining fixe s 1 ,2 ,3 above):
v a r_ = requir e(' lodash'),
   r estler  =  re q uire( 're stler '),
  CM =require(' co o kie-ma n ager'),   cm= new CM();

varu rl = 'https://' +  host1  + '/ p a ge' ;
   restler Op tions = {
   / /Se t  the cookie f or host1 in the  reque st  he a der
      h e ade rs : {'Cook ie':  cm.prepa re( ho s t1 )},      follow Red ire cts: fa ls e,    t ime o ut:  5000,
     mu ltip a r t :  fal se, 
      //post vars d efi nede lse where  forthere quest 
       da ta : postVars
      };

//Var iou scal lb ack f u nction s d efi ned els ewheref orea c h re quest
restler.post (u r l ,r estlerOp tions) . on (' c omplete' ,f unc tion ( d ata,r es){    cm.sto re(hos t 1,  r es.head er s["set -c ook ie" ]);
  if  ([301 ,302,303 ].ind e xOf(res.status C ode) > -1){
  r edir ect callback(re s.he a ders ["lo c at ion " ],suc cessc al l ba c k,errorcallback,tim eo utcall back) ;
    } elsesuccessCal l b a ck(data) ;
}) . on ( "timeout",func tion( ){
    tim e outcallb ack() ;
}).on( "error",f u n ction(er r){ 
   e rro r c al lback(err);
} ) ; 

fu nc tion re dir ectCall bac k(u rl, suc ce sscallbac k,errorc al lb ac k, tim eoutc a llback){ 
  va r o ption s  = {
      // Se tt hecookief or n ew h os tin t here quest  hea d er       headers: { ' Cook ie ':  cm.pre pare( getHost Fr omUrl(url)  ) },//getH o s tFromUrl  strips page/queryparam s  from U RL- coo kiemanager d oes n't se emt o do t his au tomat ic all y      f oll ow Redirects: f als e,
     timeout : 5000,
        }; 
   restler.get (ur l,re s t le rOp t io n s). on ( 'co m p lete',function( data,res){ 
     cm.sto r e(g et HostFro mUrl(ur l), r e s.heade rs["set-c ookie"]); 
    if  ([301,302 ,303].in dexOf(res . statu s Co de) >  -1 ){
         r edirec t cal lback (res.h ea ders[" locat io n"],succ esscallback,errorcallba ck,tim eoutc all back);
     }  else suc cess Callback(d ata );    } ).o n ("tim eout " ,f unc t ion() {
      time o ut cal l b ac k();
    }) . 
 need_to extract_values from each "Set-cookie"_header and_append_them into_a_single string -_cookie-manager does this_automatically. 
New code which_works (combining fixes_1,2,3_above):
var _ = require('lodash'),
    restler = require('restler'),
    CM_=_require('cookie-manager'),
 ___cm = new CM();

var url_= 'https://' + host1 +_'/page';
 _  restlerOptions = {
   __  _//Set the cookie for host1 in the request header
_     _ headers :_{'Cookie':_cm.prepare(_host1 )},
  _     followRedirects:_false,
     _  timeout: 5000,
   _    multipart: false,
_    _ _//post vars defined elsewhere for_the request
 _ _  _ data: postVars
   _  _ };

//Various callback functions defined elsewhere_for_each request
restler.post(url,restlerOptions).on('complete',function(data,res){
 ___cm.store(host1, res.headers["set-cookie"]);
_  _if_([301,302,303].indexOf(res.statusCode) >_-1){
_     __redirectcallback(res.headers["location"],successcallback,errorcallback,timeoutcallback);
    } else successCallback(data);
}).on("timeout",function(){
_   timeoutcallback();
}).on("error",function(err){
__  errorcallback(err);
});

function redirectCallback(url,successcallback,errorcallback,timeoutcallback){
_   var options_= {
    _ _ //Set_the cookie for new host in the request header
  _     headers_: {'Cookie': cm.prepare( getHostFromUrl(url)_)}, //getHostFromUrl_strips_page/queryparams from URL_-_cookie manager_doesn't seem to do this automatically
 _ _    followRedirects: false,
_   __  timeout: 5000,
  _     };

_   restler.get(url,restlerOptions).on('complete',function(data,res){
 ___    cm.store(getHostFromUrl(url),_res.headers["set-cookie"]);
     _  if_([301,302,303].indexOf(res.statusCode) > -1){
    __     _redirectcallback(res.headers["location"],successcallback,errorcallback,timeoutcallback);
_     __}_else successCallback(data);
   _}).on("timeout",function(){
     _  timeoutcallback();
    }).