|
2 | 2 | <span class="vi">@domainRegex = </span><span class="sr">/(?:(?:http|https):\/\/)((?:\w+)\.(?:(?:\w|\.)+))/</span></pre></div> </td> </tr> <tr id="section-2"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-2">¶</a> </div> <p>Is the given URL remote?
|
3 | 3 | If a cross-origin setting is set, we assume you have CORS
|
4 | 4 | properly configured.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="vi">@isRemote: </span><span class="nf">(img) -></span>
|
5 |
| - <span class="k">return</span> <span class="k">if</span> <span class="o">not</span> <span class="nx">img</span> |
6 |
| - <span class="k">return</span> <span class="kc">false</span> <span class="k">if</span> <span class="nx">img</span><span class="p">.</span><span class="nx">crossOrigin</span><span class="o">?</span> |
| 5 | + <span class="k">return</span> <span class="kc">false</span> <span class="nx">unless</span> <span class="nx">img</span><span class="o">?</span> |
| 6 | + <span class="k">return</span> <span class="kc">false</span> <span class="k">if</span> <span class="nx">@corsEnabled</span><span class="p">(</span><span class="nx">img</span><span class="p">)</span> |
7 | 7 |
|
8 | 8 | <span class="nv">matches = </span><span class="nx">img</span><span class="p">.</span><span class="nx">src</span><span class="p">.</span><span class="nx">match</span> <span class="nx">@domainRegex</span>
|
9 | 9 | <span class="k">return</span> <span class="k">if</span> <span class="nx">matches</span> <span class="k">then</span> <span class="nx">matches</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">isnt</span> <span class="nb">document</span><span class="p">.</span><span class="nx">domain</span> <span class="k">else</span> <span class="kc">false</span>
|
10 | 10 |
|
| 11 | + <span class="vi">@corsEnabled: </span><span class="nf">(img) -></span> |
| 12 | + <span class="nx">img</span><span class="p">.</span><span class="nx">crossOrigin</span><span class="o">?</span> <span class="o">and</span> <span class="nx">img</span><span class="p">.</span><span class="nx">crossOrigin</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">()</span> <span class="k">in</span> <span class="p">[</span><span class="s">'anonymous'</span><span class="p">,</span> <span class="s">'use-credentials'</span><span class="p">]</span> |
| 13 | + |
11 | 14 | <span class="vi">@proxyUrl: </span><span class="nf">(src) -></span>
|
12 |
| - <span class="s">"</span><span class="si">#{</span><span class="nx">Caman</span><span class="p">.</span><span class="nx">remoteProxy</span><span class="si">}</span><span class="s">?camanProxyUrl=</span><span class="si">#{</span><span class="nb">encodeURIComponent</span><span class="p">(</span><span class="nx">src</span><span class="p">)</span><span class="si">}</span><span class="s">"</span></pre></div> </td> </tr> <tr id="section-3"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3">¶</a> </div> <p>Shortcut for using one of the bundled proxies.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="vi">@useProxy: </span><span class="nf">(lang) -></span> |
| 15 | + <span class="s">"</span><span class="si">#{</span><span class="nx">Caman</span><span class="p">.</span><span class="nx">remoteProxy</span><span class="si">}</span><span class="s">?</span><span class="si">#{</span><span class="nx">Caman</span><span class="p">.</span><span class="nx">proxyParam</span><span class="si">}</span><span class="s">=</span><span class="si">#{</span><span class="nb">encodeURIComponent</span><span class="p">(</span><span class="nx">src</span><span class="p">)</span><span class="si">}</span><span class="s">"</span></pre></div> </td> </tr> <tr id="section-3"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3">¶</a> </div> <p>Shortcut for using one of the bundled proxies.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="vi">@useProxy: </span><span class="nf">(lang) -></span> |
13 | 16 | <span class="nv">langToExt =</span>
|
14 | 17 | <span class="nv">ruby: </span><span class="s">'rb'</span>
|
15 | 18 | <span class="nv">python: </span><span class="s">'py'</span>
|
|
0 commit comments