├── .gitignore ├── README.md ├── handler.js ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # parcel-bundler cache (https://parceljs.org/) 61 | .cache 62 | 63 | # next.js build output 64 | .next 65 | 66 | # nuxt.js build output 67 | .nuxt 68 | 69 | # vuepress build output 70 | .vuepress/dist 71 | 72 | # Serverless directories 73 | .serverless 74 | 75 | .vscode 76 | .vscode/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### soscafe - Get Push Notification for your Restaurant Menu 2 | 3 | This project will help you to get Push Notification for your daily menu from your favorite restaurant. 4 | 5 | This project related to Turkish Article. 6 | 7 | https://selcukermaya.com 8 | -------------------------------------------------------------------------------- /handler.js: -------------------------------------------------------------------------------- 1 | const restify = require("restify"); 2 | const fetch = require("node-fetch"); 3 | 4 | // MonoPush Group Url 5 | let pushUrl; 6 | let environment = process.env.ENVIRONMENT || "Development"; 7 | 8 | console.info(`You are running on ${environment} environment.`); 9 | 10 | if (environment === "Production") { 11 | pushUrl = process.env.PUSH_URL; 12 | } else { 13 | pushUrl = process.env.PUSH_URL_DEVELOPMENT; 14 | } 15 | 16 | if (!pushUrl) { 17 | throw "You must provide your PUSH_URL in your environment variables."; 18 | } 19 | 20 | function respond(req, res, next) { 21 | const query = req.query; 22 | const headers = req.headers; 23 | if (!headers || !headers["x-secret"] || headers["x-secret"] != process.env.SECRET) { 24 | res.send(403, "You are not authorized for this request."); 25 | res.end(); 26 | return; 27 | } 28 | 29 | if (query.file) { 30 | var url = `${query.file}`; 31 | fetch(url) 32 | .then(res => res.text()) 33 | .then(body => { 34 | const content = { message: body }; 35 | 36 | content.message = content.message.replace(/\(YANINDA[\+| ]PİLAV\+YOĞURT\+SU\)\n/gi, ""); 37 | content.message = content.message.replace(/\d+[,]\d+\sTL[\n]/gi, ""); 38 | content.message = content.message.replace(/\d+[,]\d+TL[\n]/gi, ""); 39 | content.message = content.message.replace(/\d+[,]\d+TL/gi, ""); 40 | 41 | content.message = content.message.split("\n"); 42 | 43 | const day = content.message[0]; 44 | 45 | content.message = content.message.slice(4); 46 | content.message = content.message.slice(0, content.message.length - 1); 47 | 48 | content.message = content.message.filter(function(n) { 49 | return n != null && n.trim() != ""; 50 | }); 51 | 52 | content.message.forEach(function(part, index, theArray) { 53 | theArray[index] = theArray[index].trim(); 54 | }); 55 | 56 | content.message = content.message.join("\n"); 57 | 58 | content.message = `[[ ${day} tarihli Sos Cafe Yemek Menüsü ]] \n` + "=============== \n" + content.message; 59 | 60 | fetch(pushUrl, { 61 | method: "POST", 62 | headers: { 63 | Accept: "application/json", 64 | "Content-Type": "application/json" 65 | }, 66 | body: JSON.stringify(content) 67 | }); 68 | }); 69 | } 70 | console.log(`File is ${req.query.file}`); 71 | res.send(200, "Thank you."); 72 | res.end(); 73 | next(); 74 | } 75 | 76 | var server = restify.createServer(); 77 | server.post("/hook", respond); 78 | 79 | server.use(restify.plugins.queryParser()); 80 | server.use(restify.plugins.jsonBodyParser()); 81 | server.use(restify.plugins.bodyParser()); 82 | 83 | const trimContent = data => {}; 84 | 85 | server.listen(process.env.PORT || 8092, function() { 86 | console.log("%s listening at %s", server.name, server.url); 87 | }); 88 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "function", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "handler.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node handler.js" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "node-fetch": "^2.1.2", 15 | "restify": "^7.2.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | asn1@~0.2.3: 6 | version "0.2.3" 7 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 8 | 9 | assert-plus@1.0.0, assert-plus@^1.0.0: 10 | version "1.0.0" 11 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 12 | 13 | balanced-match@^1.0.0: 14 | version "1.0.0" 15 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 16 | 17 | bcrypt-pbkdf@^1.0.0: 18 | version "1.0.1" 19 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 20 | dependencies: 21 | tweetnacl "^0.14.3" 22 | 23 | brace-expansion@^1.1.7: 24 | version "1.1.11" 25 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 26 | dependencies: 27 | balanced-match "^1.0.0" 28 | concat-map "0.0.1" 29 | 30 | bunyan@^1.8.12: 31 | version "1.8.12" 32 | resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz#f150f0f6748abdd72aeae84f04403be2ef113797" 33 | optionalDependencies: 34 | dtrace-provider "~0.8" 35 | moment "^2.10.6" 36 | mv "~2" 37 | safe-json-stringify "~1" 38 | 39 | concat-map@0.0.1: 40 | version "0.0.1" 41 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 42 | 43 | core-util-is@1.0.2, core-util-is@~1.0.0: 44 | version "1.0.2" 45 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 46 | 47 | csv-generate@^1.1.2: 48 | version "1.1.2" 49 | resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-1.1.2.tgz#ec6b00edaed6e59ad9c20582f4c364e28b146240" 50 | 51 | csv-parse@^1.3.3: 52 | version "1.3.3" 53 | resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-1.3.3.tgz#d1cfd8743c2f849a0abb2fd544db56695d19a490" 54 | 55 | csv-stringify@^1.1.2: 56 | version "1.1.2" 57 | resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-1.1.2.tgz#77a41526581bce3380f12b00d7c5bbac70c82b58" 58 | dependencies: 59 | lodash.get "~4.4.2" 60 | 61 | csv@^1.1.1: 62 | version "1.2.1" 63 | resolved "https://registry.yarnpkg.com/csv/-/csv-1.2.1.tgz#5231edfc1c7152512ec45781076a7a97ff525c0c" 64 | dependencies: 65 | csv-generate "^1.1.2" 66 | csv-parse "^1.3.3" 67 | csv-stringify "^1.1.2" 68 | stream-transform "^0.2.2" 69 | 70 | dashdash@^1.12.0: 71 | version "1.14.1" 72 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 73 | dependencies: 74 | assert-plus "^1.0.0" 75 | 76 | debug@^2.6.8: 77 | version "2.6.9" 78 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 79 | dependencies: 80 | ms "2.0.0" 81 | 82 | detect-node@^2.0.3: 83 | version "2.0.3" 84 | resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" 85 | 86 | dtrace-provider@^0.8.1, dtrace-provider@~0.8: 87 | version "0.8.7" 88 | resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.7.tgz#dc939b4d3e0620cfe0c1cd803d0d2d7ed04ffd04" 89 | dependencies: 90 | nan "^2.10.0" 91 | 92 | ecc-jsbn@~0.1.1: 93 | version "0.1.1" 94 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 95 | dependencies: 96 | jsbn "~0.1.0" 97 | 98 | escape-regexp-component@^1.0.2: 99 | version "1.0.2" 100 | resolved "https://registry.yarnpkg.com/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz#9c63b6d0b25ff2a88c3adbd18c5b61acc3b9faa2" 101 | 102 | ewma@^2.0.1: 103 | version "2.0.1" 104 | resolved "https://registry.yarnpkg.com/ewma/-/ewma-2.0.1.tgz#9876c1c491ac5733c8666001a3961a04c97cf1e8" 105 | dependencies: 106 | assert-plus "^1.0.0" 107 | 108 | extsprintf@1.2.0: 109 | version "1.2.0" 110 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.2.0.tgz#5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529" 111 | 112 | extsprintf@1.3.0: 113 | version "1.3.0" 114 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 115 | 116 | extsprintf@^1.2.0: 117 | version "1.4.0" 118 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 119 | 120 | fast-decode-uri-component@^1.0.0: 121 | version "1.0.0" 122 | resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.0.tgz#7ce10336aa4b26286fee93d71e6785ff0f596a33" 123 | 124 | find-my-way@^1.13.0: 125 | version "1.14.0" 126 | resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-1.14.0.tgz#107b89780836fb9ca0f2d42d7390b27f648540c5" 127 | dependencies: 128 | fast-decode-uri-component "^1.0.0" 129 | safe-regex "^1.1.0" 130 | semver-store "^0.2.0" 131 | 132 | formidable@^1.2.1: 133 | version "1.2.1" 134 | resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" 135 | 136 | getpass@^0.1.1: 137 | version "0.1.7" 138 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 139 | dependencies: 140 | assert-plus "^1.0.0" 141 | 142 | glob@^6.0.1: 143 | version "6.0.4" 144 | resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" 145 | dependencies: 146 | inflight "^1.0.4" 147 | inherits "2" 148 | minimatch "2 || 3" 149 | once "^1.3.0" 150 | path-is-absolute "^1.0.0" 151 | 152 | handle-thing@^1.2.5: 153 | version "1.2.5" 154 | resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" 155 | 156 | hpack.js@^2.1.6: 157 | version "2.1.6" 158 | resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" 159 | dependencies: 160 | inherits "^2.0.1" 161 | obuf "^1.0.0" 162 | readable-stream "^2.0.1" 163 | wbuf "^1.1.0" 164 | 165 | http-deceiver@^1.2.7: 166 | version "1.2.7" 167 | resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" 168 | 169 | http-signature@^1.2.0: 170 | version "1.2.0" 171 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 172 | dependencies: 173 | assert-plus "^1.0.0" 174 | jsprim "^1.2.2" 175 | sshpk "^1.7.0" 176 | 177 | inflight@^1.0.4: 178 | version "1.0.6" 179 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 180 | dependencies: 181 | once "^1.3.0" 182 | wrappy "1" 183 | 184 | inherits@2, inherits@^2.0.1, inherits@~2.0.3: 185 | version "2.0.3" 186 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 187 | 188 | isarray@~1.0.0: 189 | version "1.0.0" 190 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 191 | 192 | jsbn@~0.1.0: 193 | version "0.1.1" 194 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 195 | 196 | json-schema@0.2.3: 197 | version "0.2.3" 198 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 199 | 200 | jsprim@^1.2.2: 201 | version "1.4.1" 202 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 203 | dependencies: 204 | assert-plus "1.0.0" 205 | extsprintf "1.3.0" 206 | json-schema "0.2.3" 207 | verror "1.10.0" 208 | 209 | lodash.get@~4.4.2: 210 | version "4.4.2" 211 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 212 | 213 | lodash@^4.17.10, lodash@^4.2.1: 214 | version "4.17.10" 215 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 216 | 217 | lru-cache@^4.1.3: 218 | version "4.1.3" 219 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" 220 | dependencies: 221 | pseudomap "^1.0.2" 222 | yallist "^2.1.2" 223 | 224 | mime@^1.5.0: 225 | version "1.6.0" 226 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 227 | 228 | minimalistic-assert@^1.0.0: 229 | version "1.0.1" 230 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 231 | 232 | "minimatch@2 || 3": 233 | version "3.0.4" 234 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 235 | dependencies: 236 | brace-expansion "^1.1.7" 237 | 238 | minimist@0.0.8: 239 | version "0.0.8" 240 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 241 | 242 | mkdirp@~0.5.1: 243 | version "0.5.1" 244 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 245 | dependencies: 246 | minimist "0.0.8" 247 | 248 | moment@^2.10.6: 249 | version "2.22.2" 250 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" 251 | 252 | ms@2.0.0: 253 | version "2.0.0" 254 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 255 | 256 | mv@~2: 257 | version "2.1.1" 258 | resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" 259 | dependencies: 260 | mkdirp "~0.5.1" 261 | ncp "~2.0.0" 262 | rimraf "~2.4.0" 263 | 264 | nan@^2.10.0: 265 | version "2.10.0" 266 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" 267 | 268 | ncp@~2.0.0: 269 | version "2.0.0" 270 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" 271 | 272 | negotiator@^0.6.1: 273 | version "0.6.1" 274 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 275 | 276 | node-fetch@^2.1.2: 277 | version "2.1.2" 278 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" 279 | 280 | obuf@^1.0.0, obuf@^1.1.1: 281 | version "1.1.2" 282 | resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" 283 | 284 | once@^1.3.0, once@^1.4.0: 285 | version "1.4.0" 286 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 287 | dependencies: 288 | wrappy "1" 289 | 290 | path-is-absolute@^1.0.0: 291 | version "1.0.1" 292 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 293 | 294 | pidusage@^1.2.0: 295 | version "1.2.0" 296 | resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-1.2.0.tgz#65ee96ace4e08a4cd3f9240996c85b367171ee92" 297 | 298 | process-nextick-args@~2.0.0: 299 | version "2.0.0" 300 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 301 | 302 | pseudomap@^1.0.2: 303 | version "1.0.2" 304 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 305 | 306 | qs@^6.5.2: 307 | version "6.5.2" 308 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 309 | 310 | readable-stream@^2.0.1, readable-stream@^2.2.9: 311 | version "2.3.6" 312 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 313 | dependencies: 314 | core-util-is "~1.0.0" 315 | inherits "~2.0.3" 316 | isarray "~1.0.0" 317 | process-nextick-args "~2.0.0" 318 | safe-buffer "~5.1.1" 319 | string_decoder "~1.1.1" 320 | util-deprecate "~1.0.1" 321 | 322 | restify-errors@^5.0.0: 323 | version "5.0.0" 324 | resolved "https://registry.yarnpkg.com/restify-errors/-/restify-errors-5.0.0.tgz#668717e100683eec6ce0d515f89ff1dbec254a8d" 325 | dependencies: 326 | assert-plus "^1.0.0" 327 | lodash "^4.2.1" 328 | verror "^1.8.1" 329 | optionalDependencies: 330 | safe-json-stringify "^1.0.3" 331 | 332 | restify@^7.2.1: 333 | version "7.2.1" 334 | resolved "https://registry.yarnpkg.com/restify/-/restify-7.2.1.tgz#fac4d149224cbcfb3ed06585df08433569025dab" 335 | dependencies: 336 | assert-plus "^1.0.0" 337 | bunyan "^1.8.12" 338 | csv "^1.1.1" 339 | escape-regexp-component "^1.0.2" 340 | ewma "^2.0.1" 341 | find-my-way "^1.13.0" 342 | formidable "^1.2.1" 343 | http-signature "^1.2.0" 344 | lodash "^4.17.10" 345 | lru-cache "^4.1.3" 346 | mime "^1.5.0" 347 | negotiator "^0.6.1" 348 | once "^1.4.0" 349 | pidusage "^1.2.0" 350 | qs "^6.5.2" 351 | restify-errors "^5.0.0" 352 | semver "^5.4.1" 353 | spdy "^3.4.7" 354 | uuid "^3.1.0" 355 | vasync "^1.6.4" 356 | verror "^1.10.0" 357 | optionalDependencies: 358 | dtrace-provider "^0.8.1" 359 | 360 | ret@~0.1.10: 361 | version "0.1.15" 362 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 363 | 364 | rimraf@~2.4.0: 365 | version "2.4.5" 366 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" 367 | dependencies: 368 | glob "^6.0.1" 369 | 370 | safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 371 | version "5.1.2" 372 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 373 | 374 | safe-json-stringify@^1.0.3, safe-json-stringify@~1: 375 | version "1.2.0" 376 | resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" 377 | 378 | safe-regex@^1.1.0: 379 | version "1.1.0" 380 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 381 | dependencies: 382 | ret "~0.1.10" 383 | 384 | safer-buffer@^2.0.2: 385 | version "2.1.2" 386 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 387 | 388 | select-hose@^2.0.0: 389 | version "2.0.0" 390 | resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" 391 | 392 | semver-store@^0.2.0: 393 | version "0.2.2" 394 | resolved "https://registry.yarnpkg.com/semver-store/-/semver-store-0.2.2.tgz#e6c65e4e94e2e5f662e1efaaa8112dae302cbdcf" 395 | 396 | semver@^5.4.1: 397 | version "5.5.0" 398 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 399 | 400 | spdy-transport@^2.0.18: 401 | version "2.1.0" 402 | resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1" 403 | dependencies: 404 | debug "^2.6.8" 405 | detect-node "^2.0.3" 406 | hpack.js "^2.1.6" 407 | obuf "^1.1.1" 408 | readable-stream "^2.2.9" 409 | safe-buffer "^5.0.1" 410 | wbuf "^1.7.2" 411 | 412 | spdy@^3.4.7: 413 | version "3.4.7" 414 | resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" 415 | dependencies: 416 | debug "^2.6.8" 417 | handle-thing "^1.2.5" 418 | http-deceiver "^1.2.7" 419 | safe-buffer "^5.0.1" 420 | select-hose "^2.0.0" 421 | spdy-transport "^2.0.18" 422 | 423 | sshpk@^1.7.0: 424 | version "1.14.2" 425 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" 426 | dependencies: 427 | asn1 "~0.2.3" 428 | assert-plus "^1.0.0" 429 | dashdash "^1.12.0" 430 | getpass "^0.1.1" 431 | safer-buffer "^2.0.2" 432 | optionalDependencies: 433 | bcrypt-pbkdf "^1.0.0" 434 | ecc-jsbn "~0.1.1" 435 | jsbn "~0.1.0" 436 | tweetnacl "~0.14.0" 437 | 438 | stream-transform@^0.2.2: 439 | version "0.2.2" 440 | resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-0.2.2.tgz#75867487f49528f8bf1d82499658753d02df7838" 441 | 442 | string_decoder@~1.1.1: 443 | version "1.1.1" 444 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 445 | dependencies: 446 | safe-buffer "~5.1.0" 447 | 448 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 449 | version "0.14.5" 450 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 451 | 452 | util-deprecate@~1.0.1: 453 | version "1.0.2" 454 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 455 | 456 | uuid@^3.1.0: 457 | version "3.3.0" 458 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.0.tgz#b237147804881d7b86f40a7ff8f590f15c37de32" 459 | 460 | vasync@^1.6.4: 461 | version "1.6.4" 462 | resolved "https://registry.yarnpkg.com/vasync/-/vasync-1.6.4.tgz#dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f" 463 | dependencies: 464 | verror "1.6.0" 465 | 466 | verror@1.10.0, verror@^1.10.0, verror@^1.8.1: 467 | version "1.10.0" 468 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 469 | dependencies: 470 | assert-plus "^1.0.0" 471 | core-util-is "1.0.2" 472 | extsprintf "^1.2.0" 473 | 474 | verror@1.6.0: 475 | version "1.6.0" 476 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.6.0.tgz#7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5" 477 | dependencies: 478 | extsprintf "1.2.0" 479 | 480 | wbuf@^1.1.0, wbuf@^1.7.2: 481 | version "1.7.3" 482 | resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" 483 | dependencies: 484 | minimalistic-assert "^1.0.0" 485 | 486 | wrappy@1: 487 | version "1.0.2" 488 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 489 | 490 | yallist@^2.1.2: 491 | version "2.1.2" 492 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 493 | --------------------------------------------------------------------------------