packages feed

rest-gen 0.16.0.2 → 0.16.0.3

raw patch · 4 files changed

+21/−10 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog +#### 0.16.0.3++* JavaScript/node.js: Each instance of a client now uses its own cookie jar automatically. You no longer need to depend on the `request` library to use generated clients. If you want access to the cookie jar use `api.cookieJar`.+ #### 0.16.0.2  * Allow haskell-src-exts 1.16.*
files/Javascript/base.js view
@@ -1,14 +1,17 @@+var isNodeJs = typeof module === "object" && module && typeof module.exports === "object";+ var $apinamespace$ =   function (url, secureUrl)   {     var postfix          = '/v' + this.version + '/';     var contextUrl       = url + postfix;     var secureContextUrl = (secureUrl || url.replace(/^http:/, "https:")) + postfix;+    var cookieJar = isNodeJs ? require('request').jar() : undefined; -    $apinamespace$.setContext(this, contextUrl, secureContextUrl);+    $apinamespace$.setContext(this, contextUrl, secureContextUrl, cookieJar);   }; -if (typeof module === "object" && module && typeof module.exports === "object")+if (isNodeJs) {   // Export as Node module.   module.exports = $apinamespace$;@@ -62,7 +65,7 @@   return q($dollar$.ajax(callData)); } -function nodeRequest (method, url, params, onSuccess, onError, contentType, acceptHeader, data, callOpts)+function nodeRequest (method, url, params, onSuccess, onError, contentType, acceptHeader, data, callOpts, cookieJar) {   var allParams = {};   $apinamespace$.addObject(allParams, params);@@ -82,6 +85,7 @@     , qs      : allParams     , method  : method     , headers : headers+    , jar     : cookieJar ? cookieJar : undefined     };    if (data) callData.body = data;@@ -140,16 +144,17 @@ }  $apinamespace$.setContext =-  function (obj, url, secureUrl)+  function (obj, url, secureUrl, cookieJar)   {     obj.contextUrl = url;     obj.secureContextUrl = secureUrl;+    obj.cookieJar = cookieJar;     for (var fld in obj)     {       if (obj[fld] != undefined && obj[fld].apiObjectType != undefined && obj[fld].apiObjectType == 'resourceDir')       {         var postfix = fld.replace(/([a-z0-9])([A-Z])/g, '$dollar$1-$dollar$2').toLowerCase() + '/';-        $apinamespace$.setContext(obj[fld], url + postfix, secureUrl + postfix);+        $apinamespace$.setContext(obj[fld], url + postfix, secureUrl + postfix, cookieJar);       }     }   };
rest-gen.cabal view
@@ -1,5 +1,5 @@ name:                rest-gen-version:             0.16.0.2+version:             0.16.0.3 description:         Documentation and client generation from rest definition. synopsis:            Documentation and client generation from rest definition. maintainer:          code@silk.co
src/Rest/Gen/JavaScript.hs view
@@ -51,10 +51,10 @@ mkAccessorConstructor :: String -> ApiResource -> Code mkAccessorConstructor ns resource =   let constrName = jsDir (cleanName (resName resource))-  in functionDecl constrName ["url", "secureUrl"] $+  in functionDecl constrName ["url", "secureUrl", "cookieJar"] $        jsIf (code $ "this instanceof " ++ constrName)-            (proc (ns ++ ".setContext") (code "this, url, secureUrl"))-         <-> jsElse (ret $ call (constrName ++ ".access") (code "url, secureUrl"))+            (proc (ns ++ ".setContext") (code "this, url, secureUrl, cookieJar"))+         <-> jsElse (ret $ call (constrName ++ ".access") (code "url, secureUrl, cookieJar"))  mkPreFuncs :: String -> ApiResource -> Code mkPreFuncs ns node =@@ -83,7 +83,8 @@   in function fParams $       [ var "postfix" $ "'" ++ urlPart ++ "'"       , var "accessor" $ new "this" . code $  "this.contextUrl + postfix, "-                                           ++ "this.secureContextUrl + postfix"+                                           ++ "this.secureContextUrl + postfix, "+                                           ++ "this.cookieJar"       , "accessor.get" .=. mkFunction ns node       , ret "accessor"       ]@@ -110,6 +111,7 @@           , string $ mOut           , maybe (code "undefined") (\(p, _, f) -> f (code p)) mInp           , code "callOpts"+          , code "this.cookieJar"           ]  resourceLoc :: String -> ApiResource -> String