-
Notifications
You must be signed in to change notification settings - Fork 93
/
jitsu.html
161 lines (132 loc) · 32.5 KB
/
jitsu.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<!DOCTYPE html> <html> <head> <title>jitsu.js</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To … <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="jitsu/api/apps.html"> jitsu/api/apps.html </a> <a class="source" href="jitsu/api/client.html"> jitsu/api/client.html </a> <a class="source" href="jitsu/api/snapshots.html"> jitsu/api/snapshots.html </a> <a class="source" href="jitsu/api/users.html"> jitsu/api/users.html </a> <a class="source" href="jitsu/commands/apps.html"> jitsu/commands/apps.html </a> <a class="source" href="jitsu/commands/config.html"> jitsu/commands/config.html </a> <a class="source" href="jitsu/commands/help.html"> jitsu/commands/help.html </a> <a class="source" href="jitsu/commands/snapshots.html"> jitsu/commands/snapshots.html </a> <a class="source" href="jitsu/commands/users.html"> jitsu/commands/users.html </a> <a class="source" href="jitsu/commands.html"> jitsu/commands.html </a> <a class="source" href="jitsu/config.html"> jitsu/config.html </a> <a class="source" href="jitsu/log.html"> jitsu/log.html </a> <a class="source" href="jitsu/prompt.html"> jitsu/prompt.html </a> <a class="source" href="jitsu/utils/base64.html"> jitsu/utils/base64.html </a> <a class="source" href="jitsu/utils/index.html"> jitsu/utils/index.html </a> <a class="source" href="jitsu.html"> jitsu.html </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> jitsu.js </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">¶</a> </div> </td> <td class="code"> <div class="highlight"><pre><span class="cm">/*</span>
<span class="cm"> * jitsu.js: Top-level include for the jitsu module.</span>
<span class="cm"> *</span>
<span class="cm"> * (C) 2010, Nodejitsu Inc.</span>
<span class="cm"> *</span>
<span class="cm"> */</span>
<span class="nx">require</span><span class="p">.</span><span class="nx">paths</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">__dirname</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">jitsu</span> <span class="o">=</span> <span class="nx">exports</span><span class="p">,</span>
<span class="nx">auth</span> <span class="o">=</span> <span class="kc">false</span><span class="p">,</span>
<span class="nx">started</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></pre></div> </td> </tr> <tr id="section-2"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-2">¶</a> </div> <p>Failure HTTP Response codes based
off of <code>/lib/broodmother/slave/service.js</code></p> </td> <td class="code"> <div class="highlight"><pre><span class="kd">var</span> <span class="nx">failCodes</span> <span class="o">=</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">failCodes</span> <span class="o">=</span> <span class="p">{</span>
<span class="mi">400</span><span class="o">:</span> <span class="s2">"Bad Request"</span><span class="p">,</span>
<span class="mi">403</span><span class="o">:</span> <span class="s2">"Not Authorized"</span><span class="p">,</span>
<span class="mi">404</span><span class="o">:</span> <span class="s2">"Item not found"</span><span class="p">,</span>
<span class="mi">500</span><span class="o">:</span> <span class="s2">"Internal Server Error"</span>
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-3"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3">¶</a> </div> <p>Success HTTP Response codes based
off of <code>/lib/broodmother/slave/service.js</code></p> </td> <td class="code"> <div class="highlight"><pre><span class="kd">var</span> <span class="nx">successCodes</span> <span class="o">=</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">successCodes</span> <span class="o">=</span> <span class="p">{</span>
<span class="mi">200</span><span class="o">:</span> <span class="s2">"OK"</span><span class="p">,</span>
<span class="mi">201</span><span class="o">:</span> <span class="s2">"Created"</span>
<span class="p">};</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">utils</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/utils'</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">log</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/log'</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span> <span class="o">=</span> <span class="p">{};</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Client</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/api/client'</span><span class="p">).</span><span class="nx">Client</span><span class="p">;</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Apps</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/api/apps'</span><span class="p">).</span><span class="nx">Apps</span><span class="p">;</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Snapshots</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/api/snapshots'</span><span class="p">).</span><span class="nx">Snapshots</span><span class="p">;</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Users</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/api/users'</span><span class="p">).</span><span class="nx">Users</span><span class="p">;</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">prompt</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/prompt'</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/config'</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">commands</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'jitsu/commands'</span><span class="p">);</span></pre></div> </td> </tr> <tr id="section-4"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-4">¶</a> </div> <p>Alias the appropriate commands for simplier CLI usage</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">jitsu</span><span class="p">.</span><span class="nx">commands</span><span class="p">.</span><span class="nx">alias</span><span class="p">(</span><span class="s1">'create'</span><span class="p">,</span> <span class="p">{</span> <span class="nx">resource</span><span class="o">:</span> <span class="s1">'apps'</span><span class="p">,</span> <span class="nx">command</span><span class="o">:</span> <span class="s1">'create'</span> <span class="p">});</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">commands</span><span class="p">.</span><span class="nx">alias</span><span class="p">(</span><span class="s1">'deploy'</span><span class="p">,</span> <span class="p">{</span> <span class="nx">resource</span><span class="o">:</span> <span class="s1">'apps'</span><span class="p">,</span> <span class="nx">command</span><span class="o">:</span> <span class="s1">'deploy'</span> <span class="p">});</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">commands</span><span class="p">.</span><span class="nx">alias</span><span class="p">(</span><span class="s1">'list'</span><span class="p">,</span> <span class="p">{</span> <span class="nx">resource</span><span class="o">:</span> <span class="s1">'apps'</span><span class="p">,</span> <span class="nx">command</span><span class="o">:</span> <span class="s1">'list'</span> <span class="p">});</span>
<span class="kd">var</span> <span class="nx">eyes</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'eyes'</span><span class="p">),</span>
<span class="nx">winston</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'winston'</span><span class="p">),</span>
<span class="nx">colors</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'colors'</span><span class="p">);</span></pre></div> </td> </tr> <tr id="section-5"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-5">¶</a> </div> <h3>function start (command, callback)</h3>
<h4>@command {string} Command to execute once started</h4>
<h4>@callback {function} Continuation to pass control to when complete.</h4>
<p>Starts the jitsu CLI and runs the specified command.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">jitsu</span><span class="p">.</span><span class="nx">start</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">command</span><span class="p">,</span> <span class="nx">callback</span><span class="p">)</span> <span class="p">{</span></pre></div> </td> </tr> <tr id="section-6"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-6">¶</a> </div> <p>Setup the initial prompt but don't leave it open</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">prompt</span><span class="p">.</span><span class="nx">start</span><span class="p">().</span><span class="nx">pause</span><span class="p">();</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">info</span><span class="p">(</span><span class="s1">'Welcome to '</span> <span class="o">+</span> <span class="s1">'Nodejitsu'</span><span class="p">.</span><span class="nx">grey</span><span class="p">);</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">info</span><span class="p">(</span><span class="s1">'It worked if it ends with '</span> <span class="o">+</span> <span class="s1">'Nodejitsu'</span><span class="p">.</span><span class="nx">grey</span> <span class="o">+</span> <span class="s1">' ok'</span><span class="p">.</span><span class="nx">yellow</span><span class="p">.</span><span class="nx">bold</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">username</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">setupUser</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">err</span> <span class="o">?</span> <span class="nx">callback</span><span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="o">:</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">exec</span><span class="p">(</span><span class="nx">command</span><span class="p">,</span> <span class="nx">callback</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nx">err</span> <span class="o">?</span> <span class="nx">callback</span><span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="o">:</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">exec</span><span class="p">(</span><span class="nx">command</span><span class="p">,</span> <span class="nx">callback</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-7"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-7">¶</a> </div> <h3>function exec (command, callback)</h3>
<h4>@command {string} Command to execute</h4>
<h4>@callback {function} Continuation to pass control to when complete.</h4>
<p>Runs the specified command in the jitsu CLI.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">jitsu</span><span class="p">.</span><span class="nx">exec</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">command</span><span class="p">,</span> <span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">command</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="s1">'No command supplied'</span><span class="p">);</span>
<span class="k">return</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">showError</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="p">{},</span> <span class="kc">true</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
<span class="p">}</span>
<span class="kd">function</span> <span class="nx">execCommand</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">callback</span><span class="p">(</span><span class="nx">err</span><span class="p">);</span>
<span class="p">}</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">info</span><span class="p">(</span><span class="s1">'Executing command '</span> <span class="o">+</span> <span class="nx">command</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">' '</span><span class="p">).</span><span class="nx">magenta</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">commands</span><span class="p">.</span><span class="nx">run</span><span class="p">(</span><span class="nx">command</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">,</span> <span class="nx">shallow</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">showError</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">join</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="nx">err</span><span class="p">,</span> <span class="nx">shallow</span><span class="p">);</span>
<span class="p">}</span></pre></div> </td> </tr> <tr id="section-8"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-8">¶</a> </div> <p>TODO (indexzero): Something here</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">callback</span><span class="p">();</span>
<span class="p">});</span>
<span class="p">}</span>
<span class="k">return</span> <span class="o">!</span><span class="nx">started</span> <span class="o">?</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">setup</span><span class="p">(</span><span class="nx">execCommand</span><span class="p">)</span> <span class="o">:</span> <span class="nx">execCommand</span><span class="p">();</span>
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-9"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-9">¶</a> </div> <h3>function setup (callback)</h3>
<h4>@callback {function} Continuation to pass control to when complete.</h4>
<p>Sets up the instances of the Resource clients for jitsu and tests
the username/password combo for the authenticated user.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">jitsu</span><span class="p">.</span><span class="nx">setup</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">started</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">users</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Users</span><span class="p">(</span><span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">settings</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">apps</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Apps</span><span class="p">(</span><span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">settings</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">snapshots</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">api</span><span class="p">.</span><span class="nx">Snapshots</span><span class="p">(</span><span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">settings</span><span class="p">);</span>
<span class="nx">started</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
<span class="p">}</span>
<span class="nx">callback</span><span class="p">();</span>
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-10"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-10">¶</a> </div> <h3>function auth (callback)</h3>
<h4>@callback {function} Continuation to pass control to when complete.</h4>
<p>Attempts to authenicate the user identified in <code>jitsu.config.settings.auth</code></p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">jitsu</span><span class="p">.</span><span class="nx">auth</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">auth</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">callback</span><span class="p">();</span>
<span class="p">}</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">silly</span><span class="p">(</span><span class="s1">'Attempting to authenticate as '</span> <span class="o">+</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">username</span><span class="p">.</span><span class="nx">magenta</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">users</span><span class="p">.</span><span class="nx">auth</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">,</span> <span class="nx">success</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span> <span class="o">||</span> <span class="o">!</span><span class="nx">success</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="s1">'Unable to Autenticate as '</span> <span class="o">+</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">username</span><span class="p">.</span><span class="nx">magenta</span><span class="p">);</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">message</span><span class="p">);</span>
<span class="k">return</span> <span class="nx">callback</span><span class="p">(</span><span class="nx">err</span><span class="p">);</span>
<span class="p">}</span>
<span class="nx">auth</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">info</span><span class="p">(</span><span class="s1">'Authenticated as '</span> <span class="o">+</span> <span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">username</span><span class="p">.</span><span class="nx">magenta</span><span class="p">);</span>
<span class="nx">callback</span><span class="p">();</span>
<span class="p">});</span>
<span class="p">};</span></pre></div> </td> </tr> <tr id="section-11"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-11">¶</a> </div> <h3>function setupUser (callback)</h3>
<h4>@callback {function} Continuation to pass control to when complete.</h4>
<p>Prompts the user for their username / password combo, then sets up the jitsu CLI,
and saves the resulting configuration to disk.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nx">jitsu</span><span class="p">.</span><span class="nx">setupUser</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">info</span><span class="p">(</span><span class="s1">'No user has been setup on this machine'</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">prompt</span><span class="p">.</span><span class="nx">get</span><span class="p">([</span><span class="s1">'username'</span><span class="p">,</span> <span class="s1">'password'</span><span class="p">],</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">settings</span><span class="p">.</span><span class="nx">auth</span> <span class="o">=</span> <span class="p">[</span><span class="nx">result</span><span class="p">.</span><span class="nx">username</span><span class="p">,</span> <span class="nx">result</span><span class="p">.</span><span class="nx">password</span><span class="p">].</span><span class="nx">join</span><span class="p">(</span><span class="s1">':'</span><span class="p">);</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">setup</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">auth</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">save</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nx">err</span> <span class="o">?</span> <span class="nx">callback</span><span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="o">:</span> <span class="nx">callback</span><span class="p">();</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="p">};</span>
<span class="nx">jitsu</span><span class="p">.</span><span class="nx">showError</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">command</span><span class="p">,</span> <span class="nx">err</span><span class="p">,</span> <span class="nx">shallow</span><span class="p">,</span> <span class="nx">skip</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">statusCode</span> <span class="o">!==</span> <span class="s1">'403'</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">skip</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="s1">'Error running command '</span> <span class="o">+</span> <span class="nx">command</span><span class="p">.</span><span class="nx">magenta</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">message</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">message</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">result</span> <span class="o">&&</span> <span class="nx">err</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">error</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">error</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">stack</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">shallow</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">err</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">'\n'</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">trace</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">trace</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="nx">winston</span><span class="p">.</span><span class="nx">info</span><span class="p">(</span><span class="s1">'Nodejitsu '</span><span class="p">.</span><span class="nx">grey</span> <span class="o">+</span> <span class="s1">'not ok'</span><span class="p">.</span><span class="nx">red</span><span class="p">.</span><span class="nx">bold</span><span class="p">);</span>
<span class="p">};</span>
</pre></div> </td> </tr> </tbody> </table> </div> </body> </html>