Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <meta name="robots" content="NONE,NOARCHIVE">
- <title>ValueError at /api/o/convert-token/</title>
- <style type="text/css">
- html * { padding:0; margin:0; }
- body * { padding:10px 20px; }
- body * * { padding:0; }
- body { font:small sans-serif; }
- body>div { border-bottom:1px solid #ddd; }
- h1 { font-weight:normal; }
- h2 { margin-bottom:.8em; }
- h2 span { font-size:80%; color:#666; font-weight:normal; }
- h3 { margin:1em 0 .5em 0; }
- h4 { margin:0 0 .5em 0; font-weight: normal; }
- code, pre { font-size: 100%; white-space: pre-wrap; }
- table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
- tbody td, tbody th { vertical-align:top; padding:2px 3px; }
- thead th {
- padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
- font-weight:normal; font-size:11px; border:1px solid #ddd;
- }
- tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
- table.vars { margin:5px 0 2px 40px; }
- table.vars td, table.req td { font-family:monospace; }
- table td.code { width:100%; }
- table td.code pre { overflow:hidden; }
- table.source th { color:#666; }
- table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
- ul.traceback { list-style-type:none; color: #222; }
- ul.traceback li.frame { padding-bottom:1em; color:#666; }
- ul.traceback li.user { background-color:#e0e0e0; color:#000 }
- div.context { padding:10px 0; overflow:hidden; }
- div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
- div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
- div.context ol li pre { display:inline; }
- div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
- div.context ol.context-line li span { position:absolute; right:32px; }
- .user div.context ol.context-line li { background-color:#bbb; color:#000; }
- .user div.context ol li { color:#666; }
- div.commands { margin-left: 40px; }
- div.commands a { color:#555; text-decoration:none; }
- .user div.commands a { color: black; }
- #summary { background: #ffc; }
- #summary h2 { font-weight: normal; color: #666; }
- #explanation { background:#eee; }
- #template, #template-not-exist { background:#f6f6f6; }
- #template-not-exist ul { margin: 0 0 10px 20px; }
- #template-not-exist .postmortem-section { margin-bottom: 3px; }
- #unicode-hint { background:#eee; }
- #traceback { background:#eee; }
- #requestinfo { background:#f6f6f6; padding-left:120px; }
- #summary table { border:none; background:transparent; }
- #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
- #requestinfo h3 { margin-bottom:-1em; }
- .error { background: #ffc; }
- .specific { color:#cc3300; font-weight:bold; }
- h2 span.commands { font-size:.7em;}
- span.commands a:link {color:#5E5694;}
- pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
- .append-bottom { margin-bottom: 10px; }
- </style>
- <script type="text/javascript">
- //<!--
- function getElementsByClassName(oElm, strTagName, strClassName){
- // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
- var arrElements = (strTagName == "*" && document.all)? document.all :
- oElm.getElementsByTagName(strTagName);
- var arrReturnElements = new Array();
- strClassName = strClassName.replace(/\-/g, "\-");
- var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
- var oElement;
- for(var i=0; i<arrElements.length; i++){
- oElement = arrElements[i];
- if(oRegExp.test(oElement.className)){
- arrReturnElements.push(oElement);
- }
- }
- return (arrReturnElements)
- }
- function hideAll(elems) {
- for (var e = 0; e < elems.length; e++) {
- elems[e].style.display = 'none';
- }
- }
- window.onload = function() {
- hideAll(getElementsByClassName(document, 'table', 'vars'));
- hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
- hideAll(getElementsByClassName(document, 'ol', 'post-context'));
- hideAll(getElementsByClassName(document, 'div', 'pastebin'));
- }
- function toggle() {
- for (var i = 0; i < arguments.length; i++) {
- var e = document.getElementById(arguments[i]);
- if (e) {
- e.style.display = e.style.display == 'none' ? 'block': 'none';
- }
- }
- return false;
- }
- function varToggle(link, id) {
- toggle('v' + id);
- var s = link.getElementsByTagName('span')[0];
- var uarr = String.fromCharCode(0x25b6);
- var darr = String.fromCharCode(0x25bc);
- s.innerHTML = s.innerHTML == uarr ? darr : uarr;
- return false;
- }
- function switchPastebinFriendly(link) {
- s1 = "Switch to copy-and-paste view";
- s2 = "Switch back to interactive view";
- link.innerHTML = link.innerHTML.trim() == s1 ? s2: s1;
- toggle('browserTraceback', 'pastebinTraceback');
- return false;
- }
- //-->
- </script>
- </head>
- <body>
- <div id="summary">
- <h1>ValueError at /api/o/convert-token/</h1>
- <pre class="exception_value">Email required</pre>
- <table class="meta">
- <tr>
- <th>Request Method:</th>
- <td>POST</td>
- </tr>
- <tr>
- <th>Request URL:</th>
- <td>https://api.ilistambassador.com/api/o/convert-token/</td>
- </tr>
- <tr>
- <th>Django Version:</th>
- <td>1.9.4</td>
- </tr>
- <tr>
- <th>Exception Type:</th>
- <td>ValueError</td>
- </tr>
- <tr>
- <th>Exception Value:</th>
- <td><pre>Email required</pre></td>
- </tr>
- <tr>
- <th>Exception Location:</th>
- <td>./app/base.py in create_user, line 10</td>
- </tr>
- <tr>
- <th>Python Executable:</th>
- <td>/usr/bin/uwsgi-core</td>
- </tr>
- <tr>
- <th>Python Version:</th>
- <td>3.4.3</td>
- </tr>
- <tr>
- <th>Python Path:</th>
- <td><pre>['.',
- '',
- '/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4',
- '/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/plat-x86_64-linux-gnu',
- '/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/lib-dynload',
- '/usr/lib/python3.4',
- '/usr/lib/python3.4/plat-x86_64-linux-gnu',
- '/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages']</pre></td>
- </tr>
- <tr>
- <th>Server time:</th>
- <td>Sat, 16 Jul 2016 11:26:23 +0000</td>
- </tr>
- </table>
- </div>
- <div id="traceback">
- <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
- Switch to copy-and-paste view</a></span>
- </h2>
- <div id="browserTraceback">
- <ul class="traceback">
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
- <div class="context" id="c140568542622088">
- <ol start="142" class="pre-context" id="pre140568542622088">
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> break</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre></pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> try:</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> except Exception as e:</pre></li>
- </ol>
- <ol start="149" class="context-line">
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre>
- response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
- <ol start='150' class="post-context" id="post140568542622088">
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre></pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> # Complain if the view returned None (a common error).</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> view_name = callback.__name__</pre></li>
- <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> else: # CBV</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542622088')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542622088">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=rest_framework_social_oauth2.views.ConvertTokenView, args=(), kwargs={}, url_name=convert_token, app_names=[], namespaces=[])</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/o/convert-token/'></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'ilist.urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fd8abb47f28>></pre></td>
- </tr>
- <tr>
- <td>response_is_rendered</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7fd8accb2240></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function ConvertTokenView at 0x7fd8ab055d90></pre></td>
- </tr>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function ConvertTokenView at 0x7fd8ab055d90></pre></td>
- </tr>
- <tr>
- <td>urlconf</td>
- <td class="code"><pre>'ilist.urls'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
- <div class="context" id="c140568542622024">
- <ol start="140" class="pre-context" id="pre140568542622024">
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if response:</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> break</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre></pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> try:</pre></li>
- </ol>
- <ol start="147" class="context-line">
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre>
- response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
- <ol start='148' class="post-context" id="post140568542622024">
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> except Exception as e:</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre></pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> # Complain if the view returned None (a common error).</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if response is None:</pre></li>
- <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542622024')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542622024">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>callback_kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>resolver_match</td>
- <td class="code"><pre>ResolverMatch(func=rest_framework_social_oauth2.views.ConvertTokenView, args=(), kwargs={}, url_name=convert_token, app_names=[], namespaces=[])</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/o/convert-token/'></pre></td>
- </tr>
- <tr>
- <td>resolver</td>
- <td class="code"><pre><RegexURLResolver 'ilist.urls' (None:None) ^/></pre></td>
- </tr>
- <tr>
- <td>callback_args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>middleware_method</td>
- <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fd8abb47f28>></pre></td>
- </tr>
- <tr>
- <td>response_is_rendered</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7fd8accb2240></pre></td>
- </tr>
- <tr>
- <td>wrapped_callback</td>
- <td class="code"><pre><function ConvertTokenView at 0x7fd8ab055d90></pre></td>
- </tr>
- <tr>
- <td>callback</td>
- <td class="code"><pre><function ConvertTokenView at 0x7fd8ab055d90></pre></td>
- </tr>
- <tr>
- <td>urlconf</td>
- <td class="code"><pre>'ilist.urls'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
- <div class="context" id="c140568542621960">
- <ol start="51" class="pre-context" id="pre140568542621960">
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> # are nicer if they don't have side-effects, so we return a new</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> # function.</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
- </ol>
- <ol start="58" class="context-line">
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre>
- return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='59' class="post-context" id="post140568542621960">
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> wrapped_view.csrf_exempt = True</pre></li>
- <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542621960')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542621960">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<WSGIRequest: POST '/api/o/convert-token/'>,)</pre></td>
- </tr>
- <tr>
- <td>view_func</td>
- <td class="code"><pre><function ConvertTokenView at 0x7fd8ab055d08></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/generic/base.py</code> in <code>view</code>
- <div class="context" id="c140568542621896">
- <ol start="61" class="pre-context" id="pre140568542621896">
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> def view(request, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self = cls(**initkwargs)</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> if hasattr(self, 'get') and not hasattr(self, 'head'):</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.head = self.get</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.request = request</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.args = args</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.kwargs = kwargs</pre></li>
- </ol>
- <ol start="68" class="context-line">
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre>
- return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='69' class="post-context" id="post140568542621896">
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> view.view_class = cls</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> view.view_initkwargs = initkwargs</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre></pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> # take name and docstring from class</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> update_wrapper(view, cls, updated=())</pre></li>
- <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542621896')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542621896">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>cls</td>
- <td class="code"><pre><class 'rest_framework_social_oauth2.views.ConvertTokenView'></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- <tr>
- <td>initkwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/o/convert-token/'></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py</code> in <code>_wrapper</code>
- <div class="context" id="c140568542621832">
- <ol start="60" class="pre-context" id="pre140568542621832">
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> def _wrapper(self, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> @decorate</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> def bound_func(*args2, **kwargs2):</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> return func.__get__(self, type(self))(*args2, **kwargs2)</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # bound_func has the signature that 'decorator' expects i.e. no</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # 'self' argument, but it is a closure over self so it can call</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # 'func' correctly.</pre></li>
- </ol>
- <ol start="67" class="context-line">
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre>
- return bound_func(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='68' class="post-context" id="post140568542621832">
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # In case 'decorator' adds attributes to the function it decorates, we</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # want to copy those. We don't have access to bound_func in this scope,</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # but we can cheat by using it on a dummy function.</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre></pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> @decorate</pre></li>
- <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> def dummy(*args, **kwargs):</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542621832')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542621832">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>bound_func</td>
- <td class="code"><pre><function method_decorator.<locals>._dec.<locals>._wrapper.<locals>.bound_func at 0x7fd8abb7e6a8></pre></td>
- </tr>
- <tr>
- <td>decorate</td>
- <td class="code"><pre><function method_decorator.<locals>._dec.<locals>.decorate at 0x7fd8ab0bc378></pre></td>
- </tr>
- <tr>
- <td>func</td>
- <td class="code"><pre><function CsrfExemptMixin.dispatch at 0x7fd8ab0bc2f0></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<WSGIRequest: POST '/api/o/convert-token/'>,)</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
- <div class="context" id="c140568542621768">
- <ol start="51" class="pre-context" id="pre140568542621768">
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> # are nicer if they don't have side-effects, so we return a new</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> # function.</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
- </ol>
- <ol start="58" class="context-line">
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre>
- return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='59' class="post-context" id="post140568542621768">
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> wrapped_view.csrf_exempt = True</pre></li>
- <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542621768')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542621768">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<WSGIRequest: POST '/api/o/convert-token/'>,)</pre></td>
- </tr>
- <tr>
- <td>view_func</td>
- <td class="code"><pre><function method_decorator.<locals>._dec.<locals>._wrapper.<locals>.bound_func at 0x7fd8abb69f28></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py</code> in <code>bound_func</code>
- <div class="context" id="c140568542601160">
- <ol start="56" class="pre-context" id="pre140568542601160">
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> function = dec(function)</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> return function</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> return decorator(function)</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre></pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> def _wrapper(self, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> @decorate</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> def bound_func(*args2, **kwargs2):</pre></li>
- </ol>
- <ol start="63" class="context-line">
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre>
- return func.__get__(self, type(self))(*args2, **kwargs2)</pre> <span>...</span></li></ol>
- <ol start='64' class="post-context" id="post140568542601160">
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # bound_func has the signature that 'decorator' expects i.e. no</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # 'self' argument, but it is a closure over self so it can call</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # 'func' correctly.</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> return bound_func(*args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # In case 'decorator' adds attributes to the function it decorates, we</pre></li>
- <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # want to copy those. We don't have access to bound_func in this scope,</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542601160')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542601160">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>args2</td>
- <td class="code"><pre>(<WSGIRequest: POST '/api/o/convert-token/'>,)</pre></td>
- </tr>
- <tr>
- <td>kwargs2</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- <tr>
- <td>func</td>
- <td class="code"><pre><function CsrfExemptMixin.dispatch at 0x7fd8ab0bc2f0></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/braces/views/_forms.py</code> in <code>dispatch</code>
- <div class="context" id="c140568542601096">
- <ol start="15" class="pre-context" id="pre140568542601096">
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> NOTE:</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> This should be the left-most mixin of a view.</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> @method_decorator(csrf_exempt)</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> def dispatch(self, *args, **kwargs):</pre></li>
- </ol>
- <ol start="22" class="context-line">
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre>
- return super(CsrfExemptMixin, self).dispatch(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='23' class="post-context" id="post140568542601096">
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre>class UserFormKwargsMixin(object):</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> CBV mixin which puts the user from the request into the form kwargs.</pre></li>
- <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> Note: Using this mixin requires you to pop the `user` kwarg</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542601096')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542601096">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>(<WSGIRequest: POST '/api/o/convert-token/'>,)</pre></td>
- </tr>
- <tr>
- <td>__class__</td>
- <td class="code"><pre><class 'braces.views._forms.CsrfExemptMixin'></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
- <div class="context" id="c140568542538440">
- <ol start="459" class="pre-context" id="pre140568542538440">
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> self.http_method_not_allowed)</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> else:</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> handler = self.http_method_not_allowed</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> response = handler(request, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> except Exception as exc:</pre></li>
- </ol>
- <ol start="466" class="context-line">
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre>
- response = self.handle_exception(exc)</pre> <span>...</span></li></ol>
- <ol start='467' class="post-context" id="post140568542538440">
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> return self.response</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> def options(self, request, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> """</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542538440')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542538440">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method ConvertTokenView.post of <rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80>></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x7fd8aafe96d8></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
- <div class="context" id="c140568542601032">
- <ol start="456" class="pre-context" id="pre140568542601032">
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> # Get the appropriate handler method</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> if request.method.lower() in self.http_method_names:</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> handler = getattr(self, request.method.lower(),</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> self.http_method_not_allowed)</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> else:</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> handler = self.http_method_not_allowed</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre></pre></li>
- </ol>
- <ol start="463" class="context-line">
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre>
- response = handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='464' class="post-context" id="post140568542601032">
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre></pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> except Exception as exc:</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> response = self.handle_exception(exc)</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre></pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> return self.response</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542601032')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542601032">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>handler</td>
- <td class="code"><pre><bound method ConvertTokenView.post of <rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80>></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x7fd8aafe96d8></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/views.py</code> in <code>post</code>
- <div class="context" id="c140568542600968">
- <ol start="34" class="pre-context" id="pre140568542600968">
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> def post(self, request, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> # Use the rest framework `.data` to fake the post body of the django request.</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> request._request.POST = request._request.POST.copy()</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> for key, value in request.data.items():</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> request._request.POST[key] = value</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
- </ol>
- <ol start="41" class="context-line">
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre>
- url, headers, body, status = self.create_token_response(request._request)</pre> <span>...</span></li></ol>
- <ol start='42' class="post-context" id="post140568542600968">
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> response = Response(data=json.loads(body), status=status)</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> for k, v in headers.items():</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> response[k] = v</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> return response</pre></li>
- <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600968')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600968">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>key</td>
- <td class="code"><pre>'client_id'</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><rest_framework.request.Request object at 0x7fd8aafe96d8></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>value</td>
- <td class="code"><pre>'3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/views/mixins.py</code> in <code>create_token_response</code>
- <div class="context" id="c140568542600904">
- <ol start="117" class="pre-context" id="pre140568542600904">
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> def create_token_response(self, request):</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> A wrapper method that calls create_token_response on `server_class` instance.</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre></pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> :param request: The current django.http.HttpRequest object</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> core = self.get_oauthlib_core()</pre></li>
- </ol>
- <ol start="124" class="context-line">
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre>
- return core.create_token_response(request)</pre> <span>...</span></li></ol>
- <ol start='125' class="post-context" id="post140568542600904">
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre></pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> def create_revocation_response(self, request):</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> A wrapper method that calls create_revocation_response on the</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> `server_class` instance.</pre></li>
- <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600904')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600904">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/o/convert-token/'></pre></td>
- </tr>
- <tr>
- <td>core</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_backends.KeepRequestCore object at 0x7fd8aafa1278></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/oauth2_backends.py</code> in <code>create_token_response</code>
- <div class="context" id="c140568542600840">
- <ol start="131" class="pre-context" id="pre140568542600840">
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> :param request: The current django.http.HttpRequest object</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> """</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> uri, http_method, body, headers = self._extract_params(request)</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> extra_credentials = self._get_extra_credentials(request)</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> headers, body, status = self.server.create_token_response(uri, http_method, body,</pre></li>
- </ol>
- <ol start="138" class="context-line">
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre>
- headers, extra_credentials)</pre> <span>...</span></li></ol>
- <ol start='139' class="post-context" id="post140568542600840">
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> uri = headers.get("Location", None)</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> return uri, headers, body, status</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> def create_revocation_response(self, request):</pre></li>
- <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> """</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600840')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600840">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_backends.KeepRequestCore object at 0x7fd8aafa1278></pre></td>
- </tr>
- <tr>
- <td>http_method</td>
- <td class="code"><pre>'POST'</pre></td>
- </tr>
- <tr>
- <td>uri</td>
- <td class="code"><pre>'/api/o/convert-token/'</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/o/convert-token/'></pre></td>
- </tr>
- <tr>
- <td>headers</td>
- <td class="code"><pre>{'Authorization': 'Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==',
- 'CONTENT_LENGTH': '491',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'DOCUMENT_ROOT': '/usr/share/nginx/html',
- 'HTTPS': 'on',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'en-us',
- 'HTTP_AUTHORIZATION': 'Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==',
- 'HTTP_CONNECTION': 'keep-alive',
- 'HTTP_CONTENT_LENGTH': '491',
- 'HTTP_CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'HTTP_HOST': 'api.ilistambassador.com',
- 'HTTP_PROXY_CONNECTION': 'keep-alive',
- 'HTTP_USER_AGENT': 'iList/19 CFNetwork/758.3.15 Darwin/15.5.0',
- 'PATH_INFO': '/api/o/convert-token/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '213.113.41.111',
- 'REMOTE_PORT': '47358',
- 'REQUEST_METHOD': 'POST',
- 'REQUEST_URI': '/api/o/convert-token/',
- 'SCRIPT_NAME': '',
- 'SERVER_NAME': 'api.ilistambassador.com',
- 'SERVER_PORT': '443',
- 'SERVER_PROTOCOL': 'HTTP/1.1',
- 'uwsgi.core': 0,
- 'uwsgi.node': b'ip-172-30-1-215',
- 'uwsgi.version': b'1.9.17.1-debian',
- 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': True,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'https',
- 'wsgi.version': (1, 0)}</pre></td>
- </tr>
- <tr>
- <td>body</td>
- <td class="code"><pre>'token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&backend=facebook&grant_type=convert_token&client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T'</pre></td>
- </tr>
- <tr>
- <td>extra_credentials</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py</code> in <code>wrapper</code>
- <div class="context" id="c140568542600776">
- <ol start="57" class="pre-context" id="pre140568542600776">
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> raise</pre></li>
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> except Exception as e:</pre></li>
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> error = ServerError()</pre></li>
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> log.warning(</pre></li>
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> 'Exception caught while processing request, %s.' % e)</pre></li>
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> return {}, error.json, 500</pre></li>
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> else:</pre></li>
- </ol>
- <ol start="64" class="context-line">
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre>
- return f(endpoint, uri, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='65' class="post-context" id="post140568542600776">
- <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> return wrapper</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600776')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600776">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>endpoint</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_endpoints.SocialTokenServer object at 0x7fd8aafe9ba8></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>('POST',
- 'token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&backend=facebook&grant_type=convert_token&client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T',
- {'Authorization': 'Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==',
- 'CONTENT_LENGTH': '491',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'DOCUMENT_ROOT': '/usr/share/nginx/html',
- 'HTTPS': 'on',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'en-us',
- 'HTTP_AUTHORIZATION': 'Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==',
- 'HTTP_CONNECTION': 'keep-alive',
- 'HTTP_CONTENT_LENGTH': '491',
- 'HTTP_CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'HTTP_HOST': 'api.ilistambassador.com',
- 'HTTP_PROXY_CONNECTION': 'keep-alive',
- 'HTTP_USER_AGENT': 'iList/19 CFNetwork/758.3.15 Darwin/15.5.0',
- 'PATH_INFO': '/api/o/convert-token/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '213.113.41.111',
- 'REMOTE_PORT': '47358',
- 'REQUEST_METHOD': 'POST',
- 'REQUEST_URI': '/api/o/convert-token/',
- 'SCRIPT_NAME': '',
- 'SERVER_NAME': 'api.ilistambassador.com',
- 'SERVER_PORT': '443',
- 'SERVER_PROTOCOL': 'HTTP/1.1',
- 'uwsgi.core': 0,
- 'uwsgi.node': b'ip-172-30-1-215',
- 'uwsgi.version': b'1.9.17.1-debian',
- 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': True,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'https',
- 'wsgi.version': (1, 0)},
- None)</pre></td>
- </tr>
- <tr>
- <td>f</td>
- <td class="code"><pre><function SocialTokenServer.create_token_response at 0x7fd8ab0559d8></pre></td>
- </tr>
- <tr>
- <td>uri</td>
- <td class="code"><pre>'/api/o/convert-token/'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_endpoints.py</code> in <code>create_token_response</code>
- <div class="context" id="c140568542599688">
- <ol start="53" class="pre-context" id="pre140568542599688">
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> request.extra_credentials = credentials</pre></li>
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> request.django_request = django_request</pre></li>
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> grant_type_handler = self.grant_types.get(request.grant_type,</pre></li>
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> self.default_grant_type_handler)</pre></li>
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> log.debug('Dispatching grant_type %s request to %r.',</pre></li>
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> request.grant_type, grant_type_handler)</pre></li>
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> return grant_type_handler.create_token_response(</pre></li>
- </ol>
- <ol start="60" class="context-line">
- <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre>
- request, self.default_token_type)</pre> <span>...</span></li></ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542599688')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542599688">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>django_request</td>
- <td class="code"><pre><WSGIRequest: POST '/api/o/convert-token/'></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_endpoints.SocialTokenServer object at 0x7fd8aafe9ba8></pre></td>
- </tr>
- <tr>
- <td>http_method</td>
- <td class="code"><pre>'POST'</pre></td>
- </tr>
- <tr>
- <td>credentials</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><oauthlib.Request url="/api/o/convert-token/", http_method="POST", headers="{'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'SCRIPT_NAME': '', 'REMOTE_PORT': '47358', 'HTTP_CONTENT_LENGTH': '491', 'wsgi.version': (1, 0), 'SERVER_NAME': 'api.ilistambassador.com', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'uwsgi.core': 0, 'REQUEST_METHOD': 'POST', 'SERVER_PROTOCOL': 'HTTP/1.1', 'REQUEST_URI': '/api/o/convert-token/', 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'wsgi.multithread': True, 'HTTP_ACCEPT_LANGUAGE': 'en-us', 'QUERY_STRING': '', 'SERVER_PORT': '443', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'DOCUMENT_ROOT': '/usr/share/nginx/html', 'wsgi.url_scheme': 'https', 'uwsgi.node': 'ip-172-30-1-215', 'uwsgi.version': '1.9.17.1-debian', 'HTTP_USER_AGENT': 'iList/19 CFNetwork/758.3.15 Darwin/15.5.0', 'Authorization': 'Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==', 'wsgi.run_once': False, 'HTTP_AUTHORIZATION': 'Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==', 'HTTP_CONTENT_TYPE': 'application/x-www-form-urlencoded', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_PROXY_CONNECTION': 'keep-alive', 'CONTENT_LENGTH': '491', 'PATH_INFO': '/api/o/convert-token/', 'REMOTE_ADDR': '213.113.41.111', 'wsgi.multiprocess': True, 'HTTP_HOST': 'api.ilistambassador.com'}", body="token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&backend=facebook&grant_type=convert_token&client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T"></pre></td>
- </tr>
- <tr>
- <td>headers</td>
- <td class="code"><pre>{'Authorization': 'Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==',
- 'CONTENT_LENGTH': '491',
- 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'DOCUMENT_ROOT': '/usr/share/nginx/html',
- 'HTTPS': 'on',
- 'HTTP_ACCEPT': '*/*',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
- 'HTTP_ACCEPT_LANGUAGE': 'en-us',
- 'HTTP_AUTHORIZATION': 'Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==',
- 'HTTP_CONNECTION': 'keep-alive',
- 'HTTP_CONTENT_LENGTH': '491',
- 'HTTP_CONTENT_TYPE': 'application/x-www-form-urlencoded',
- 'HTTP_HOST': 'api.ilistambassador.com',
- 'HTTP_PROXY_CONNECTION': 'keep-alive',
- 'HTTP_USER_AGENT': 'iList/19 CFNetwork/758.3.15 Darwin/15.5.0',
- 'PATH_INFO': '/api/o/convert-token/',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '213.113.41.111',
- 'REMOTE_PORT': '47358',
- 'REQUEST_METHOD': 'POST',
- 'REQUEST_URI': '/api/o/convert-token/',
- 'SCRIPT_NAME': '',
- 'SERVER_NAME': 'api.ilistambassador.com',
- 'SERVER_PORT': '443',
- 'SERVER_PROTOCOL': 'HTTP/1.1',
- 'uwsgi.core': 0,
- 'uwsgi.node': b'ip-172-30-1-215',
- 'uwsgi.version': b'1.9.17.1-debian',
- 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,
- 'wsgi.multiprocess': True,
- 'wsgi.multithread': True,
- 'wsgi.run_once': False,
- 'wsgi.url_scheme': 'https',
- 'wsgi.version': (1, 0)}</pre></td>
- </tr>
- <tr>
- <td>uri</td>
- <td class="code"><pre>'/api/o/convert-token/'</pre></td>
- </tr>
- <tr>
- <td>body</td>
- <td class="code"><pre>'token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&backend=facebook&grant_type=convert_token&client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T'</pre></td>
- </tr>
- <tr>
- <td>grant_type_handler</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_grants.SocialTokenGrant object at 0x7fd8aafa1208></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py</code> in <code>create_token_response</code>
- <div class="context" id="c140568542600712">
- <ol start="51" class="pre-context" id="pre140568542600712">
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> headers = {</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> 'Content-Type': 'application/json',</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> 'Cache-Control': 'no-store',</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> 'Pragma': 'no-cache',</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> }</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> try:</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> log.debug('Validating refresh token request, %r.', request)</pre></li>
- </ol>
- <ol start="58" class="context-line">
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre>
- self.validate_token_request(request)</pre> <span>...</span></li></ol>
- <ol start='59' class="post-context" id="post140568542600712">
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> except errors.OAuth2Error as e:</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> return headers, e.json, e.status_code</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre></pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> token = token_handler.create_token(request,</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> refresh_token=self.issue_new_refresh_tokens)</pre></li>
- <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> log.debug('Issuing new token to client id %r (%r), %r.',</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600712')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600712">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>request</td>
- <td class="code"><pre><oauthlib.Request url="/api/o/convert-token/", http_method="POST", headers="{'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'SCRIPT_NAME': '', 'REMOTE_PORT': '47358', 'HTTP_CONTENT_LENGTH': '491', 'wsgi.version': (1, 0), 'SERVER_NAME': 'api.ilistambassador.com', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'uwsgi.core': 0, 'REQUEST_METHOD': 'POST', 'SERVER_PROTOCOL': 'HTTP/1.1', 'REQUEST_URI': '/api/o/convert-token/', 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'wsgi.multithread': True, 'HTTP_ACCEPT_LANGUAGE': 'en-us', 'QUERY_STRING': '', 'SERVER_PORT': '443', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'DOCUMENT_ROOT': '/usr/share/nginx/html', 'wsgi.url_scheme': 'https', 'uwsgi.node': 'ip-172-30-1-215', 'uwsgi.version': '1.9.17.1-debian', 'HTTP_USER_AGENT': 'iList/19 CFNetwork/758.3.15 Darwin/15.5.0', 'Authorization': 'Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==', 'wsgi.run_once': False, 'HTTP_AUTHORIZATION': 'Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==', 'HTTP_CONTENT_TYPE': 'application/x-www-form-urlencoded', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_PROXY_CONNECTION': 'keep-alive', 'CONTENT_LENGTH': '491', 'PATH_INFO': '/api/o/convert-token/', 'REMOTE_ADDR': '213.113.41.111', 'wsgi.multiprocess': True, 'HTTP_HOST': 'api.ilistambassador.com'}", body="token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&backend=facebook&grant_type=convert_token&client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T"></pre></td>
- </tr>
- <tr>
- <td>headers</td>
- <td class="code"><pre>{'Cache-Control': 'no-store',
- 'Content-Type': 'application/json',
- 'Pragma': 'no-cache'}</pre></td>
- </tr>
- <tr>
- <td>token_handler</td>
- <td class="code"><pre><oauthlib.oauth2.rfc6749.tokens.BearerToken object at 0x7fd8aafa1240></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_grants.SocialTokenGrant object at 0x7fd8aafa1208></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_grants.py</code> in <code>validate_token_request</code>
- <div class="context" id="c140568542600648">
- <ol start="84" class="pre-context" id="pre140568542600648">
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> reverse(NAMESPACE + ":complete", args=(request.backend,)))</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> except MissingBackend:</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> raise errors.InvalidRequestError(</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> description='Invalid backend parameter.',</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> request=request)</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre></pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> try:</pre></li>
- </ol>
- <ol start="91" class="context-line">
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre>
- user = backend.do_auth(access_token=request.token)</pre> <span>...</span></li></ol>
- <ol start='92' class="post-context" id="post140568542600648">
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> except requests.HTTPError as e:</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> raise errors.InvalidRequestError(</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> description="Backend responded with HTTP{0}: {1}.".format(e.response.status_code,</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> e.response.text),</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> request=request)</pre></li>
- <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600648')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600648">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>backend</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860></pre></td>
- </tr>
- <tr>
- <td>strategy</td>
- <td class="code"><pre><social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><rest_framework_social_oauth2.oauth2_grants.SocialTokenGrant object at 0x7fd8aafa1208></pre></td>
- </tr>
- <tr>
- <td>request</td>
- <td class="code"><pre><oauthlib.Request url="/api/o/convert-token/", http_method="POST", headers="{'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'SCRIPT_NAME': '', 'REMOTE_PORT': '47358', 'HTTP_CONTENT_LENGTH': '491', 'wsgi.version': (1, 0), 'SERVER_NAME': 'api.ilistambassador.com', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'uwsgi.core': 0, 'REQUEST_METHOD': 'POST', 'SERVER_PROTOCOL': 'HTTP/1.1', 'REQUEST_URI': '/api/o/convert-token/', 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'wsgi.multithread': True, 'HTTP_ACCEPT_LANGUAGE': 'en-us', 'QUERY_STRING': '', 'SERVER_PORT': '443', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'DOCUMENT_ROOT': '/usr/share/nginx/html', 'wsgi.url_scheme': 'https', 'uwsgi.node': 'ip-172-30-1-215', 'uwsgi.version': '1.9.17.1-debian', 'HTTP_USER_AGENT': 'iList/19 CFNetwork/758.3.15 Darwin/15.5.0', 'Authorization': 'Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==', 'wsgi.run_once': False, 'HTTP_AUTHORIZATION': 'Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==', 'HTTP_CONTENT_TYPE': 'application/x-www-form-urlencoded', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_PROXY_CONNECTION': 'keep-alive', 'CONTENT_LENGTH': '491', 'PATH_INFO': '/api/o/convert-token/', 'REMOTE_ADDR': '213.113.41.111', 'wsgi.multiprocess': True, 'HTTP_HOST': 'api.ilistambassador.com'}", body="token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&backend=facebook&grant_type=convert_token&client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T"></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/facebook.py</code> in <code>do_auth</code>
- <div class="context" id="c140568542600584">
- <ol start="112" class="pre-context" id="pre140568542600584">
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> raise AuthUnknownError(self, 'An error ocurred while retrieving '</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> 'users Facebook data')</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre></pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> data['access_token'] = access_token</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> if 'expires' in response:</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> data['expires'] = response['expires']</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> kwargs.update({'backend': self, 'response': data})</pre></li>
- </ol>
- <ol start="119" class="context-line">
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre>
- return self.strategy.authenticate(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='120' class="post-context" id="post140568542600584">
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre></pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> def revoke_token_url(self, token, uid):</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> return self.REVOKE_TOKEN_URL.format(uid=uid)</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre></pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> def revoke_token_params(self, token, uid):</pre></li>
- <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> return {'access_token': token}</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600584')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600584">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>data</td>
- <td class="code"><pre>{'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False}</pre></td>
- </tr>
- <tr>
- <td>response</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860></pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False}}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>access_token</td>
- <td class="code"><pre>'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD'</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/django_strategy.py</code> in <code>authenticate</code>
- <div class="context" id="c140568542600520">
- <ol start="89" class="pre-context" id="pre140568542600520">
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> template = loader.get_template_from_string(html)</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> return template.render(RequestContext(self.request, context))</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre></pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> def authenticate(self, backend, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> kwargs['strategy'] = self</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> kwargs['storage'] = self.storage</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> kwargs['backend'] = backend</pre></li>
- </ol>
- <ol start="96" class="context-line">
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre>
- return authenticate(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='97' class="post-context" id="post140568542600520">
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre></pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> def session_get(self, name, default=None):</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> return self.session.get(name, default)</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre></pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> def session_set(self, name, value):</pre></li>
- <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> self.session[name] = value</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600520')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600520">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'strategy': <social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30>}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>backend</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860></pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame django">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/contrib/auth/__init__.py</code> in <code>authenticate</code>
- <div class="context" id="c140568542600456">
- <ol start="67" class="pre-context" id="pre140568542600456">
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> try:</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> inspect.getcallargs(backend.authenticate, **credentials)</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> except TypeError:</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> # This backend doesn't accept these credentials as arguments. Try the next one.</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> continue</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre></pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> try:</pre></li>
- </ol>
- <ol start="74" class="context-line">
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre>
- user = backend.authenticate(**credentials)</pre> <span>...</span></li></ol>
- <ol start='75' class="post-context" id="post140568542600456">
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> except PermissionDenied:</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> # This backend says to stop in our tracks - this user should not be allowed in at all.</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> return None</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> if user is None:</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> continue</pre></li>
- <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> # Annotate the user object with the path of the backend.</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600456')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600456">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>user</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>backend_path</td>
- <td class="code"><pre>'social.backends.facebook.FacebookOAuth2'</pre></td>
- </tr>
- <tr>
- <td>backend</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978></pre></td>
- </tr>
- <tr>
- <td>credentials</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'strategy': <social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30>}</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py</code> in <code>authenticate</code>
- <div class="context" id="c140568542600392">
- <ol start="75" class="pre-context" id="pre140568542600392">
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> self.strategy = self.strategy or kwargs.get('strategy')</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> self.redirect_uri = self.redirect_uri or kwargs.get('redirect_uri')</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> self.data = self.strategy.request_data()</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> pipeline = self.strategy.get_pipeline()</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> kwargs.setdefault('is_new', False)</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> if 'pipeline_index' in kwargs:</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> pipeline = pipeline[kwargs['pipeline_index']:]</pre></li>
- </ol>
- <ol start="82" class="context-line">
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre>
- return self.pipeline(pipeline, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='83' class="post-context" id="post140568542600392">
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre></pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> def pipeline(self, pipeline, pipeline_index=0, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> if not isinstance(out, dict):</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> return out</pre></li>
- <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> user = out.get('user')</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600392')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600392">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'is_new': False,
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'strategy': <social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30>}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>pipeline</td>
- <td class="code"><pre>('social.pipeline.social_auth.social_details',
- 'social.pipeline.social_auth.social_uid',
- 'social.pipeline.social_auth.auth_allowed',
- 'social.pipeline.social_auth.social_user',
- 'social.pipeline.user.get_username',
- 'social.pipeline.user.create_user',
- 'social.pipeline.social_auth.associate_user',
- 'social.pipeline.social_auth.load_extra_data',
- 'social.pipeline.user.user_details')</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py</code> in <code>pipeline</code>
- <div class="context" id="c140568542600328">
- <ol start="78" class="pre-context" id="pre140568542600328">
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> pipeline = self.strategy.get_pipeline()</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> kwargs.setdefault('is_new', False)</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> if 'pipeline_index' in kwargs:</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> pipeline = pipeline[kwargs['pipeline_index']:]</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> return self.pipeline(pipeline, *args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre></pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> def pipeline(self, pipeline, pipeline_index=0, *args, **kwargs):</pre></li>
- </ol>
- <ol start="85" class="context-line">
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre>
- out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='86' class="post-context" id="post140568542600328">
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> if not isinstance(out, dict):</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> return out</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> user = out.get('user')</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> if user:</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> user.social_user = out.get('social')</pre></li>
- <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> user.is_new = out.get('is_new')</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600328')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600328">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>pipeline_index</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'is_new': False,
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'strategy': <social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30>}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>pipeline</td>
- <td class="code"><pre>('social.pipeline.social_auth.social_details',
- 'social.pipeline.social_auth.social_uid',
- 'social.pipeline.social_auth.auth_allowed',
- 'social.pipeline.social_auth.social_user',
- 'social.pipeline.user.get_username',
- 'social.pipeline.user.create_user',
- 'social.pipeline.social_auth.associate_user',
- 'social.pipeline.social_auth.load_extra_data',
- 'social.pipeline.user.user_details')</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py</code> in <code>run_pipeline</code>
- <div class="context" id="c140568542600264">
- <ol start="105" class="pre-context" id="pre140568542600264">
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.setdefault('backend', out.pop(self.name, None) or self)</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.setdefault('request', self.strategy.request_data())</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.setdefault('details', {})</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre></pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> for idx, name in enumerate(pipeline):</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out['pipeline_index'] = pipeline_index + idx</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> func = module_member(name)</pre></li>
- </ol>
- <ol start="112" class="context-line">
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre>
- result = func(*args, **out) or {}</pre> <span>...</span></li></ol>
- <ol start='113' class="post-context" id="post140568542600264">
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> if not isinstance(result, dict):</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> return result</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.update(result)</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> self.strategy.clean_partial_pipeline()</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> return out</pre></li>
- <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600264')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600264">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>pipeline</td>
- <td class="code"><pre>('social.pipeline.social_auth.social_details',
- 'social.pipeline.social_auth.social_uid',
- 'social.pipeline.social_auth.auth_allowed',
- 'social.pipeline.social_auth.social_user',
- 'social.pipeline.user.get_username',
- 'social.pipeline.user.create_user',
- 'social.pipeline.social_auth.associate_user',
- 'social.pipeline.social_auth.load_extra_data',
- 'social.pipeline.user.user_details')</pre></td>
- </tr>
- <tr>
- <td>pipeline_index</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978></pre></td>
- </tr>
- <tr>
- <td>result</td>
- <td class="code"><pre>{'username': 'JohanViberg'}</pre></td>
- </tr>
- <tr>
- <td>out</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'details': {'email': '',
- 'first_name': 'Johan',
- 'fullname': 'Johan Viberg',
- 'last_name': 'Viberg',
- 'username': 'Johan Viberg'},
- 'is_new': True,
- 'new_association': False,
- 'pipeline_index': 5,
- 'request': {'backend': 'facebook',
- 'client_id': '3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T',
- 'client_secret': 'rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY',
- 'grant_type': 'convert_token',
- 'token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD'},
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'social': None,
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'strategy': <social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30>,
- 'uid': '101030617004550',
- 'user': None,
- 'username': 'JohanViberg'}</pre></td>
- </tr>
- <tr>
- <td>idx</td>
- <td class="code"><pre>5</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'is_new': False,
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'strategy': <social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30>}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>name</td>
- <td class="code"><pre>'social.pipeline.user.create_user'</pre></td>
- </tr>
- <tr>
- <td>func</td>
- <td class="code"><pre><function create_user at 0x7fd8aa0aaf28></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/pipeline/user.py</code> in <code>create_user</code>
- <div class="context" id="c140568542600200">
- <ol start="62" class="pre-context" id="pre140568542600200">
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> fields = dict((name, kwargs.get(name, details.get(name)))</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> for name in strategy.setting('USER_FIELDS', USER_FIELDS))</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> if not fields:</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> return</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre></pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> return {</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> 'is_new': True,</pre></li>
- </ol>
- <ol start="69" class="context-line">
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre>
- 'user': strategy.create_user(**fields)</pre> <span>...</span></li></ol>
- <ol start='70' class="post-context" id="post140568542600200">
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> }</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre></pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre></pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre>def user_details(strategy, details, user=None, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> """Update user details using data from provider."""</pre></li>
- <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> if user:</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542600200')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542600200">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>user</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>strategy</td>
- <td class="code"><pre><social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30></pre></td>
- </tr>
- <tr>
- <td>fields</td>
- <td class="code"><pre>{'email': '', 'username': 'JohanViberg'}</pre></td>
- </tr>
- <tr>
- <td>details</td>
- <td class="code"><pre>{'email': '',
- 'first_name': 'Johan',
- 'fullname': 'Johan Viberg',
- 'last_name': 'Viberg',
- 'username': 'Johan Viberg'}</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'backend': <social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860>,
- 'is_new': True,
- 'new_association': False,
- 'pipeline_index': 5,
- 'request': {'backend': 'facebook',
- 'client_id': '3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T',
- 'client_secret': 'rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY',
- 'grant_type': 'convert_token',
- 'token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD'},
- 'response': {'access_token': 'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD',
- 'first_name': 'Johan',
- 'gender': 'male',
- 'id': '101030617004550',
- 'last_name': 'Viberg',
- 'link': 'https://www.facebook.com/app_scoped_user_id/101030617004550/',
- 'locale': 'sv_SE',
- 'name': 'Johan Viberg',
- 'timezone': 2,
- 'updated_time': '2016-07-16T07:29:41+0000',
- 'verified': False},
- 'social': None,
- 'storage': <class 'social.apps.django_app.default.models.DjangoStorage'>,
- 'uid': '101030617004550',
- 'username': 'JohanViberg'}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/base.py</code> in <code>create_user</code>
- <div class="context" id="c140568542599944">
- <ol start="46" class="pre-context" id="pre140568542599944">
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> try:</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> return self.get_setting(name)</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> except (AttributeError, KeyError):</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> pass</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> return default</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre></pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> def create_user(self, *args, **kwargs):</pre></li>
- </ol>
- <ol start="53" class="context-line">
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre>
- return self.storage.user.create_user(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='54' class="post-context" id="post140568542599944">
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre></pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> def get_user(self, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> return self.storage.user.get_user(*args, **kwargs)</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre></pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> def session_setdefault(self, name, value):</pre></li>
- <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> self.session_set(name, value)</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542599944')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542599944">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'email': '', 'username': 'JohanViberg'}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/storage/django_orm.py</code> in <code>create_user</code>
- <div class="context" id="c140568542599816">
- <ol start="53" class="pre-context" id="pre140568542599816">
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> return getattr(user, cls.username_field(), None)</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre></pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> @classmethod</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> def create_user(cls, *args, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> username_field = cls.username_field()</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> if 'username' in kwargs and username_field not in kwargs:</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> kwargs[username_field] = kwargs.pop('username')</pre></li>
- </ol>
- <ol start="60" class="context-line">
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre>
- return cls.user_model().objects.create_user(*args, **kwargs)</pre> <span>...</span></li></ol>
- <ol start='61' class="post-context" id="post140568542599816">
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre></pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> @classmethod</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> def get_user(cls, pk=None, **kwargs):</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> if pk:</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> kwargs = {'pk': pk}</pre></li>
- <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> try:</pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542599816')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542599816">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>username_field</td>
- <td class="code"><pre>'email'</pre></td>
- </tr>
- <tr>
- <td>kwargs</td>
- <td class="code"><pre>{'email': '', 'username': 'JohanViberg'}</pre></td>
- </tr>
- <tr>
- <td>args</td>
- <td class="code"><pre>()</pre></td>
- </tr>
- <tr>
- <td>cls</td>
- <td class="code"><pre><class 'social.apps.django_app.default.models.UserSocialAuth'></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- <li class="frame user">
- <code>./app/base.py</code> in <code>create_user</code>
- <div class="context" id="c140568542599752">
- <ol start="3" class="pre-context" id="pre140568542599752">
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre>from django.db import models</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre>class AuthUserManager(BaseUserManager):</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> def create_user(self, email, username=None, password=None):</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> if not email:</pre></li>
- </ol>
- <ol start="10" class="context-line">
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre>
- raise ValueError("Email required")</pre> <span>...</span></li></ol>
- <ol start='11' class="post-context" id="post140568542599752">
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user = self.model(email=self.normalize_email(email))</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user.is_active = True</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user.set_password(password)</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user.save(using=self._db)</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> return user</pre></li>
- <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
- </ol>
- </div>
- <div class="commands">
- <a href="#" onclick="return varToggle(this, '140568542599752')"><span>▶</span> Local vars</a>
- </div>
- <table class="vars" id="v140568542599752">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>password</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>username</td>
- <td class="code"><pre>'JohanViberg'</pre></td>
- </tr>
- <tr>
- <td>email</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>self</td>
- <td class="code"><pre><app.base.AuthUserManager object at 0x7fd8abed35c0></pre></td>
- </tr>
- </tbody>
- </table>
- </li>
- </ul>
- </div>
- <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
- <div id="pastebinTraceback" class="pastebin">
- <input type="hidden" name="language" value="PythonConsole">
- <input type="hidden" name="title"
- value="ValueError at /api/o/convert-token/">
- <input type="hidden" name="source" value="Django Dpaste Agent">
- <input type="hidden" name="poster" value="Django">
- <textarea name="content" id="traceback_area" cols="140" rows="25">
- Environment:
- Request Method: POST
- Request URL: https://api.ilistambassador.com/api/o/convert-token/
- Django Version: 1.9.4
- Python Version: 3.4.3
- Installed Applications:
- ['django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'storages',
- 'app',
- 'app.api',
- 'corsheaders',
- 'backoffice',
- 'social.apps.django_app.default',
- 'rest_framework_social_oauth2',
- 'rest_framework',
- 'oauth2_provider',
- 'rest_framework_swagger',
- 'friendship',
- 'push_notifications',
- 'actstream']
- Installed Middleware:
- ['django.middleware.security.SecurityMiddleware',
- 'corsheaders.middleware.CorsMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware']
- Traceback:
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
- 149. response = self.process_exception_by_middleware(e, request)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
- 147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view
- 58. return view_func(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/generic/base.py" in view
- 68. return self.dispatch(request, *args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py" in _wrapper
- 67. return bound_func(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view
- 58. return view_func(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py" in bound_func
- 63. return func.__get__(self, type(self))(*args2, **kwargs2)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/braces/views/_forms.py" in dispatch
- 22. return super(CsrfExemptMixin, self).dispatch(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
- 466. response = self.handle_exception(exc)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
- 463. response = handler(request, *args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/views.py" in post
- 41. url, headers, body, status = self.create_token_response(request._request)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/views/mixins.py" in create_token_response
- 124. return core.create_token_response(request)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/oauth2_backends.py" in create_token_response
- 138. headers, extra_credentials)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py" in wrapper
- 64. return f(endpoint, uri, *args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_endpoints.py" in create_token_response
- 60. request, self.default_token_type)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py" in create_token_response
- 58. self.validate_token_request(request)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_grants.py" in validate_token_request
- 91. user = backend.do_auth(access_token=request.token)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/facebook.py" in do_auth
- 119. return self.strategy.authenticate(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/django_strategy.py" in authenticate
- 96. return authenticate(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/contrib/auth/__init__.py" in authenticate
- 74. user = backend.authenticate(**credentials)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py" in authenticate
- 82. return self.pipeline(pipeline, *args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py" in pipeline
- 85. out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py" in run_pipeline
- 112. result = func(*args, **out) or {}
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/pipeline/user.py" in create_user
- 69. 'user': strategy.create_user(**fields)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/base.py" in create_user
- 53. return self.storage.user.create_user(*args, **kwargs)
- File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/storage/django_orm.py" in create_user
- 60. return cls.user_model().objects.create_user(*args, **kwargs)
- File "./app/base.py" in create_user
- 10. raise ValueError("Email required")
- Exception Type: ValueError at /api/o/convert-token/
- Exception Value: Email required
- </textarea>
- <br><br>
- <input type="submit" value="Share this traceback on a public website">
- </div>
- </form>
- </div>
- <div id="requestinfo">
- <h2>Request information</h2>
- <h3 id="get-info">GET</h3>
- <p>No GET data</p>
- <h3 id="post-info">POST</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>token</td>
- <td class="code"><pre>'EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD'</pre></td>
- </tr>
- <tr>
- <td>client_secret</td>
- <td class="code"><pre>'rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY'</pre></td>
- </tr>
- <tr>
- <td>backend</td>
- <td class="code"><pre>'facebook'</pre></td>
- </tr>
- <tr>
- <td>grant_type</td>
- <td class="code"><pre>'convert_token'</pre></td>
- </tr>
- <tr>
- <td>client_id</td>
- <td class="code"><pre>'3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T'</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="files-info">FILES</h3>
- <p>No FILES data</p>
- <h3 id="cookie-info">COOKIES</h3>
- <p>No cookie data</p>
- <h3 id="meta-info">META</h3>
- <table class="req">
- <thead>
- <tr>
- <th>Variable</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>HTTP_ACCEPT_ENCODING</td>
- <td class="code"><pre>'gzip, deflate'</pre></td>
- </tr>
- <tr>
- <td>SCRIPT_NAME</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>REMOTE_PORT</td>
- <td class="code"><pre>'47358'</pre></td>
- </tr>
- <tr>
- <td>HTTP_CONTENT_LENGTH</td>
- <td class="code"><pre>'491'</pre></td>
- </tr>
- <tr>
- <td>wsgi.version</td>
- <td class="code"><pre>(1, 0)</pre></td>
- </tr>
- <tr>
- <td>wsgi.errors</td>
- <td class="code"><pre><_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'></pre></td>
- </tr>
- <tr>
- <td>CONTENT_TYPE</td>
- <td class="code"><pre>'application/x-www-form-urlencoded'</pre></td>
- </tr>
- <tr>
- <td>uwsgi.core</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>wsgi.file_wrapper</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>REQUEST_METHOD</td>
- <td class="code"><pre>'POST'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PROTOCOL</td>
- <td class="code"><pre>'HTTP/1.1'</pre></td>
- </tr>
- <tr>
- <td>REQUEST_URI</td>
- <td class="code"><pre>'/api/o/convert-token/'</pre></td>
- </tr>
- <tr>
- <td>wsgi.input</td>
- <td class="code"><pre><uwsgi._Input object at 0x7fd8acb4e768></pre></td>
- </tr>
- <tr>
- <td>wsgi.run_once</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT_LANGUAGE</td>
- <td class="code"><pre>'en-us'</pre></td>
- </tr>
- <tr>
- <td>PATH_INFO</td>
- <td class="code"><pre>'/api/o/convert-token/'</pre></td>
- </tr>
- <tr>
- <td>SERVER_PORT</td>
- <td class="code"><pre>'443'</pre></td>
- </tr>
- <tr>
- <td>HTTPS</td>
- <td class="code"><pre>'on'</pre></td>
- </tr>
- <tr>
- <td>HTTP_ACCEPT</td>
- <td class="code"><pre>'*/*'</pre></td>
- </tr>
- <tr>
- <td>DOCUMENT_ROOT</td>
- <td class="code"><pre>'/usr/share/nginx/html'</pre></td>
- </tr>
- <tr>
- <td>wsgi.multithread</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>wsgi.url_scheme</td>
- <td class="code"><pre>'https'</pre></td>
- </tr>
- <tr>
- <td>uwsgi.node</td>
- <td class="code"><pre>b'ip-172-30-1-215'</pre></td>
- </tr>
- <tr>
- <td>uwsgi.version</td>
- <td class="code"><pre>b'1.9.17.1-debian'</pre></td>
- </tr>
- <tr>
- <td>HTTP_AUTHORIZATION</td>
- <td class="code"><pre>('Basic '
- 'M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==')</pre></td>
- </tr>
- <tr>
- <td>HTTP_HOST</td>
- <td class="code"><pre>'api.ilistambassador.com'</pre></td>
- </tr>
- <tr>
- <td>HTTP_USER_AGENT</td>
- <td class="code"><pre>'iList/19 CFNetwork/758.3.15 Darwin/15.5.0'</pre></td>
- </tr>
- <tr>
- <td>HTTP_CONTENT_TYPE</td>
- <td class="code"><pre>'application/x-www-form-urlencoded'</pre></td>
- </tr>
- <tr>
- <td>HTTP_CONNECTION</td>
- <td class="code"><pre>'keep-alive'</pre></td>
- </tr>
- <tr>
- <td>HTTP_PROXY_CONNECTION</td>
- <td class="code"><pre>'keep-alive'</pre></td>
- </tr>
- <tr>
- <td>CONTENT_LENGTH</td>
- <td class="code"><pre>'491'</pre></td>
- </tr>
- <tr>
- <td>QUERY_STRING</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>REMOTE_ADDR</td>
- <td class="code"><pre>'213.113.41.111'</pre></td>
- </tr>
- <tr>
- <td>wsgi.multiprocess</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>SERVER_NAME</td>
- <td class="code"><pre>'api.ilistambassador.com'</pre></td>
- </tr>
- </tbody>
- </table>
- <h3 id="settings-info">Settings</h3>
- <h4>Using settings module <code>ilist.settings</code></h4>
- <table class="req">
- <thead>
- <tr>
- <th>Setting</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>PREPEND_WWW</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>ACTSTREAM_SETTINGS</td>
- <td class="code"><pre>{'USE_JSONFIELD': True}</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_USER</td>
- <td class="code"><pre>'noreply@ilistambassador.com'</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_HASHERS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>FIRST_DAY_OF_WEEK</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>MONTH_DAY_FORMAT</td>
- <td class="code"><pre>'F j'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_CONTEXT_PROCESSORS</td>
- <td class="code"><pre>['django.contrib.auth.context_processors.auth',
- 'django.template.context_processors.debug',
- 'django.template.context_processors.i18n',
- 'django.template.context_processors.media',
- 'django.template.context_processors.static',
- 'django.template.context_processors.tz',
- 'django.contrib.messages.context_processors.messages']</pre></td>
- </tr>
- <tr>
- <td>DEBUG</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>DATE_FORMAT</td>
- <td class="code"><pre>'N j, Y'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FILE_STORAGE</td>
- <td class="code"><pre>'storages.backends.s3boto.S3BotoStorage'</pre></td>
- </tr>
- <tr>
- <td>SECRET_KEY</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>AWS_SECRET_ACCESS_KEY</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_HANDLERS</td>
- <td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
- 'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
- </tr>
- <tr>
- <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_TZ</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>MEDIA_URL</td>
- <td class="code"><pre>'/media/'</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_AGE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SILENCED_SYSTEM_CHECKS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>FIXTURE_DIRS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>SWAGGER_SETTINGS</td>
- <td class="code"><pre>{'api_key': '',
- 'api_path': '/',
- 'api_version': '1',
- 'doc_expansion': 'none',
- 'enabled_methods': ['get', 'post', 'put', 'patch', 'delete', 'retrieve'],
- 'exclude_namespaces': [],
- 'is_authenticated': False,
- 'is_superuser': False,
- 'permission_denied_handler': None,
- 'resource_access_handler': None,
- 'template_path': 'rest_framework_swagger/index.html',
- 'token_type': 'Token',
- 'unauthenticated_user': 'django.contrib.auth.models.AnonymousUser'}</pre></td>
- </tr>
- <tr>
- <td>STATIC_ROOT</td>
- <td class="code"><pre>'/home/ubuntu/ilist/static/'</pre></td>
- </tr>
- <tr>
- <td>SOCIAL_AUTH_FACEBOOK_KEY</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_HTTPONLY</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_NAME</td>
- <td class="code"><pre>'csrftoken'</pre></td>
- </tr>
- <tr>
- <td>SECURE_REDIRECT_EXEMPT</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>LOGGING_CONFIG</td>
- <td class="code"><pre>'logging.config.dictConfig'</pre></td>
- </tr>
- <tr>
- <td>AUTH_PASSWORD_VALIDATORS</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>SESSION_ENGINE</td>
- <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_STORAGE</td>
- <td class="code"><pre>'storages.backends.s3boto.S3BotoStorage'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
- <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
- </tr>
- <tr>
- <td>DATABASES</td>
- <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
- 'AUTOCOMMIT': True,
- 'CONN_MAX_AGE': 0,
- 'ENGINE': 'django.db.backends.mysql',
- 'HOST': 'ilistdbinstance2.c1n6q5kfypn3.us-east-1.rds.amazonaws.com',
- 'NAME': 'ilistambassador',
- 'OPTIONS': {'charset': 'utf8mb4'},
- 'PASSWORD': '********************',
- 'PORT': '3306',
- 'TEST': {'CHARSET': None,
- 'COLLATION': None,
- 'MIRROR': None,
- 'NAME': None},
- 'TIME_ZONE': None,
- 'USER': 'ilistadmin'}}</pre></td>
- </tr>
- <tr>
- <td>DATABASE_ROUTERS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>FILE_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- <tr>
- <td>USE_ETAGS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>ABSOLUTE_URL_OVERRIDES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_FINDERS</td>
- <td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_CACHE_ALIAS</td>
- <td class="code"><pre>'default'</pre></td>
- </tr>
- <tr>
- <td>AWS_QUERYSTRING_AUTH</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>TEMPLATES</td>
- <td class="code"><pre>[{'APP_DIRS': True,
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [''],
- 'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
- 'django.template.context_processors.request',
- 'django.contrib.auth.context_processors.auth',
- 'django.contrib.messages.context_processors.messages']}}]</pre></td>
- </tr>
- <tr>
- <td>AUTH_USER_MODEL</td>
- <td class="code"><pre>'app.User'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST</td>
- <td class="code"><pre>'smtp.gmail.com'</pre></td>
- </tr>
- <tr>
- <td>SECURE_PROXY_SSL_HEADER</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>DECIMAL_SEPARATOR</td>
- <td class="code"><pre>'.'</pre></td>
- </tr>
- <tr>
- <td>SESSION_FILE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FORMAT_MODULE_PATH</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>AWS_STORAGE_BUCKET_NAME</td>
- <td class="code"><pre>'ilistambassador'</pre></td>
- </tr>
- <tr>
- <td>TEST_RUNNER</td>
- <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
- <td class="code"><pre>2621440</pre></td>
- </tr>
- <tr>
- <td>EMAIL_PORT</td>
- <td class="code"><pre>587</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_AGE</td>
- <td class="code"><pre>31449600</pre></td>
- </tr>
- <tr>
- <td>SECURE_SSL_HOST</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>SESSION_SAVE_EVERY_REQUEST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>SIGNING_BACKEND</td>
- <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_HOST</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>WSGI_APPLICATION</td>
- <td class="code"><pre>'ilist.wsgi.application'</pre></td>
- </tr>
- <tr>
- <td>INSTALLED_APPS</td>
- <td class="code"><pre>['django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'storages',
- 'app',
- 'app.api',
- 'corsheaders',
- 'backoffice',
- 'social.apps.django_app.default',
- 'rest_framework_social_oauth2',
- 'rest_framework',
- 'oauth2_provider',
- 'rest_framework_swagger',
- 'friendship',
- 'push_notifications',
- 'actstream']</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_TLS</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>INTERNAL_IPS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>CSRF_TRUSTED_ORIGINS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_NAME</td>
- <td class="code"><pre>'django_language'</pre></td>
- </tr>
- <tr>
- <td>TIME_FORMAT</td>
- <td class="code"><pre>'P'</pre></td>
- </tr>
- <tr>
- <td>MANAGERS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>MIDDLEWARE_CLASSES</td>
- <td class="code"><pre>['django.middleware.security.SecurityMiddleware',
- 'corsheaders.middleware.CorsMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware']</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SSL_KEYFILE</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATETIME_FORMAT</td>
- <td class="code"><pre>'m/d/Y P'</pre></td>
- </tr>
- <tr>
- <td>YEAR_MONTH_FORMAT</td>
- <td class="code"><pre>'F Y'</pre></td>
- </tr>
- <tr>
- <td>LOGIN_REDIRECT_URL</td>
- <td class="code"><pre>'/accounts/profile/'</pre></td>
- </tr>
- <tr>
- <td>USE_L10N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>EMAIL_USE_SSL</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_X_FORWARDED_PORT</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>STATIC_URL</td>
- <td class="code"><pre>'/static/'</pre></td>
- </tr>
- <tr>
- <td>MIGRATION_MODULES</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_STRING_IF_INVALID</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>STATICFILES_DIRS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_INDEX_TABLESPACE</td>
- <td class="code"><pre>''</pre></td>
- </tr>
- <tr>
- <td>USE_I18N</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_CODE</td>
- <td class="code"><pre>'en-us'</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>X_FRAME_OPTIONS</td>
- <td class="code"><pre>'SAMEORIGIN'</pre></td>
- </tr>
- <tr>
- <td>TIME_ZONE</td>
- <td class="code"><pre>'UTC'</pre></td>
- </tr>
- <tr>
- <td>IGNORABLE_404_URLS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_LOADERS</td>
- <td class="code"><pre>['django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader']</pre></td>
- </tr>
- <tr>
- <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CACHES</td>
- <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
- </tr>
- <tr>
- <td>LOGIN_URL</td>
- <td class="code"><pre>'/accounts/login/'</pre></td>
- </tr>
- <tr>
- <td>MESSAGE_STORAGE</td>
- <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_DIRS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>SECURE_HSTS_SECONDS</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>LOGGING</td>
- <td class="code"><pre>{}</pre></td>
- </tr>
- <tr>
- <td>TIME_INPUT_FORMATS</td>
- <td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
- </tr>
- <tr>
- <td>SOCIAL_AUTH_FACEBOOK_SECRET</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_BACKEND</td>
- <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_HOST_PASSWORD</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>CSRF_FAILURE_VIEW</td>
- <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>APPEND_SLASH</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>SECURE_BROWSER_XSS_FILTER</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>REST_FRAMEWORK</td>
- <td class="code"><pre>{'DATETIME_FORMAT': '%Y-%m-%d %H:%M:%S%z',
- 'DATE_FORMAT': '%Y-%m-%d',
- 'DATE_INPUT_FORMATS': ('%Y-%m-%d %H:%M:%S%z',),
- 'DEFAULT_AUTHENTICATION_CLASSES': ('oauth2_provider.ext.rest_framework.OAuth2Authentication',
- 'rest_framework_social_oauth2.authentication.SocialAuthentication',
- 'django.contrib.auth.backends.ModelBackend'),
- 'DEFAULT_PAGINATION_CLASS': 'app.api.paginators.IListPagination',
- 'DEFAULT_PERMISSION_CLASSES': ('permissions.IsAuthenticatedWithObjectPerm',),
- 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.NamespaceVersioning',
- 'PAGE_SIZE': 20}</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CONTENT_TYPE</td>
- <td class="code"><pre>'text/html'</pre></td>
- </tr>
- <tr>
- <td>FORCE_SCRIPT_NAME</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES</td>
- <td class="code"><pre>[('af', 'Afrikaans'),
- ('ar', 'Arabic'),
- ('ast', 'Asturian'),
- ('az', 'Azerbaijani'),
- ('bg', 'Bulgarian'),
- ('be', 'Belarusian'),
- ('bn', 'Bengali'),
- ('br', 'Breton'),
- ('bs', 'Bosnian'),
- ('ca', 'Catalan'),
- ('cs', 'Czech'),
- ('cy', 'Welsh'),
- ('da', 'Danish'),
- ('de', 'German'),
- ('el', 'Greek'),
- ('en', 'English'),
- ('en-au', 'Australian English'),
- ('en-gb', 'British English'),
- ('eo', 'Esperanto'),
- ('es', 'Spanish'),
- ('es-ar', 'Argentinian Spanish'),
- ('es-co', 'Colombian Spanish'),
- ('es-mx', 'Mexican Spanish'),
- ('es-ni', 'Nicaraguan Spanish'),
- ('es-ve', 'Venezuelan Spanish'),
- ('et', 'Estonian'),
- ('eu', 'Basque'),
- ('fa', 'Persian'),
- ('fi', 'Finnish'),
- ('fr', 'French'),
- ('fy', 'Frisian'),
- ('ga', 'Irish'),
- ('gd', 'Scottish Gaelic'),
- ('gl', 'Galician'),
- ('he', 'Hebrew'),
- ('hi', 'Hindi'),
- ('hr', 'Croatian'),
- ('hu', 'Hungarian'),
- ('ia', 'Interlingua'),
- ('id', 'Indonesian'),
- ('io', 'Ido'),
- ('is', 'Icelandic'),
- ('it', 'Italian'),
- ('ja', 'Japanese'),
- ('ka', 'Georgian'),
- ('kk', 'Kazakh'),
- ('km', 'Khmer'),
- ('kn', 'Kannada'),
- ('ko', 'Korean'),
- ('lb', 'Luxembourgish'),
- ('lt', 'Lithuanian'),
- ('lv', 'Latvian'),
- ('mk', 'Macedonian'),
- ('ml', 'Malayalam'),
- ('mn', 'Mongolian'),
- ('mr', 'Marathi'),
- ('my', 'Burmese'),
- ('nb', 'Norwegian Bokmal'),
- ('ne', 'Nepali'),
- ('nl', 'Dutch'),
- ('nn', 'Norwegian Nynorsk'),
- ('os', 'Ossetic'),
- ('pa', 'Punjabi'),
- ('pl', 'Polish'),
- ('pt', 'Portuguese'),
- ('pt-br', 'Brazilian Portuguese'),
- ('ro', 'Romanian'),
- ('ru', 'Russian'),
- ('sk', 'Slovak'),
- ('sl', 'Slovenian'),
- ('sq', 'Albanian'),
- ('sr', 'Serbian'),
- ('sr-latn', 'Serbian Latin'),
- ('sv', 'Swedish'),
- ('sw', 'Swahili'),
- ('ta', 'Tamil'),
- ('te', 'Telugu'),
- ('th', 'Thai'),
- ('tr', 'Turkish'),
- ('tt', 'Tatar'),
- ('udm', 'Udmurt'),
- ('uk', 'Ukrainian'),
- ('ur', 'Urdu'),
- ('vi', 'Vietnamese'),
- ('zh-hans', 'Simplified Chinese'),
- ('zh-hant', 'Traditional Chinese')]</pre></td>
- </tr>
- <tr>
- <td>CSRF_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>DATETIME_INPUT_FORMATS</td>
- <td class="code"><pre>['%Y-%m-%d %H:%M:%S',
- '%Y-%m-%d %H:%M:%S.%f',
- '%Y-%m-%d %H:%M',
- '%Y-%m-%d',
- '%m/%d/%Y %H:%M:%S',
- '%m/%d/%Y %H:%M:%S.%f',
- '%m/%d/%Y %H:%M',
- '%m/%d/%Y',
- '%m/%d/%y %H:%M:%S',
- '%m/%d/%y %H:%M:%S.%f',
- '%m/%d/%y %H:%M',
- '%m/%d/%y']</pre></td>
- </tr>
- <tr>
- <td>BASE_DIR</td>
- <td class="code"><pre>'/home/ubuntu/ilist'</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_NAME</td>
- <td class="code"><pre>'sessionid'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_FROM_EMAIL</td>
- <td class="code"><pre>'noreply@ilistambassador.com'</pre></td>
- </tr>
- <tr>
- <td>SHORT_DATE_FORMAT</td>
- <td class="code"><pre>'m/d/Y'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_ADMIN_MAILS</td>
- <td class="code"><pre>['david.larsson@ilist.se', 'johan.viberg@ilist.se', 'defsyde@gmail.com']</pre></td>
- </tr>
- <tr>
- <td>SECURE_SSL_REDIRECT</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CORS_ORIGIN_ALLOW_ALL</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>SERVER_EMAIL</td>
- <td class="code"><pre>'noreply@ilistambassador.com'</pre></td>
- </tr>
- <tr>
- <td>DATETIME_FORMAT</td>
- <td class="code"><pre>'N j, Y, P'</pre></td>
- </tr>
- <tr>
- <td>DISALLOWED_USER_AGENTS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>TEMPLATE_DEBUG</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>USE_THOUSAND_SEPARATOR</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>CACHE_MIDDLEWARE_SECONDS</td>
- <td class="code"><pre>600</pre></td>
- </tr>
- <tr>
- <td>THOUSAND_SEPARATOR</td>
- <td class="code"><pre>','</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SSL_CERTFILE</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>ALLOWED_INCLUDE_ROOTS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>AWS_ACCESS_KEY_ID</td>
- <td class="code"><pre>'********************'</pre></td>
- </tr>
- <tr>
- <td>LOGOUT_URL</td>
- <td class="code"><pre>'/accounts/logout/'</pre></td>
- </tr>
- <tr>
- <td>EMAIL_TIMEOUT</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_PERMISSIONS</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>MEDIA_ROOT</td>
- <td class="code"><pre>'/home/ubuntu/ilist/media/'</pre></td>
- </tr>
- <tr>
- <td>ADMINS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>LANGUAGE_COOKIE_PATH</td>
- <td class="code"><pre>'/'</pre></td>
- </tr>
- <tr>
- <td>TEST_NON_SERIALIZED_APPS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_SECURE</td>
- <td class="code"><pre>False</pre></td>
- </tr>
- <tr>
- <td>FILE_UPLOAD_TEMP_DIR</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>ALLOWED_HOSTS</td>
- <td class="code"><pre>['*']</pre></td>
- </tr>
- <tr>
- <td>NUMBER_GROUPING</td>
- <td class="code"><pre>0</pre></td>
- </tr>
- <tr>
- <td>LOCALE_PATHS</td>
- <td class="code"><pre>[]</pre></td>
- </tr>
- <tr>
- <td>LANGUAGES_BIDI</td>
- <td class="code"><pre>['he', 'ar', 'fa', 'ur']</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_HTTPONLY</td>
- <td class="code"><pre>True</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_DOMAIN</td>
- <td class="code"><pre>None</pre></td>
- </tr>
- <tr>
- <td>DATE_INPUT_FORMATS</td>
- <td class="code"><pre>['%Y-%m-%d',
- '%m/%d/%Y',
- '%m/%d/%y',
- '%b %d %Y',
- '%b %d, %Y',
- '%d %b %Y',
- '%d %b, %Y',
- '%B %d %Y',
- '%B %d, %Y',
- '%d %B %Y',
- '%d %B, %Y']</pre></td>
- </tr>
- <tr>
- <td>EMAIL_SUBJECT_PREFIX</td>
- <td class="code"><pre>'[Django] '</pre></td>
- </tr>
- <tr>
- <td>SESSION_COOKIE_AGE</td>
- <td class="code"><pre>1209600</pre></td>
- </tr>
- <tr>
- <td>SETTINGS_MODULE</td>
- <td class="code"><pre>'ilist.settings'</pre></td>
- </tr>
- <tr>
- <td>AUTHENTICATION_BACKENDS</td>
- <td class="code"><pre>('rest_framework_social_oauth2.backends.DjangoOAuth2',
- 'django.contrib.auth.backends.ModelBackend',
- 'social.backends.facebook.FacebookAppOAuth2',
- 'social.backends.facebook.FacebookOAuth2',
- 'rest_framework_social_oauth2.backends.DjangoOAuth2',
- 'django.contrib.auth.backends.ModelBackend')</pre></td>
- </tr>
- <tr>
- <td>ROOT_URLCONF</td>
- <td class="code"><pre>'ilist.urls'</pre></td>
- </tr>
- <tr>
- <td>CSRF_HEADER_NAME</td>
- <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
- </tr>
- <tr>
- <td>PUSH_NOTIFICATIONS_SETTINGS</td>
- <td class="code"><pre>{'APNS_CERTIFICATE': '/home/ubuntu/ilist/push/pushcert.pem',
- 'APNS_ERROR_TIMEOUT': None,
- 'APNS_FEEDBACK_HOST': 'feedback.sandbox.push.apple.com',
- 'APNS_FEEDBACK_PORT': 2196,
- 'APNS_HOST': 'gateway.sandbox.push.apple.com',
- 'APNS_MAX_NOTIFICATION_SIZE': 2048,
- 'APNS_PORT': 2195,
- 'GCM_API_KEY': '********************',
- 'GCM_MAX_RECIPIENTS': 1000,
- 'GCM_POST_URL': 'https://android.googleapis.com/gcm/send'}</pre></td>
- </tr>
- <tr>
- <td>SESSION_SERIALIZER</td>
- <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
- </tr>
- <tr>
- <td>DEFAULT_CHARSET</td>
- <td class="code"><pre>'utf-8'</pre></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div id="explanation">
- <p>
- You're seeing this error because you have <code>DEBUG = True</code> in your
- Django settings file. Change that to <code>False</code>, and Django will
- display a standard page generated by the handler for this status code.
- </p>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement