Unicode-objects must be encoded before hashing
Request Method: | GET |
---|---|
Request URL: | https://instantpq.com/tools/instant_pre_qualification/profile/?ad=BR110-833-990 |
Django Version: | 3.2.17 |
Exception Type: | TypeError |
Exception Value: | Unicode-objects must be encoded before hashing |
Exception Location: | /home/data1/instantpq/public_html/turboagent/permission.py, line 8, in wrap |
Python Executable: | /home/data1/instantpq/public_html/env/bin/python |
Python Version: | 3.7.3 |
Python Path: | ['/home/data1/instantpq/public_html', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/data1/instantpq/public_html/env/lib/python3.7/site-packages', '/home/data1/instantpq/public_html', '/home/data1/instantpq/public_html/env/lib/python', '/home/data1/instantpq/public_html/indianobros'] |
Server time: | Fri, 29 Mar 2024 02:26:57 -0400 |
/home/data1/instantpq/public_html/env/lib/python3.7/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | TypeError('Unicode-objects must be encoded before hashing') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fd1302134a8>> |
request | <WSGIRequest: GET '/tools/instant_pre_qualification/profile/?ad=BR110-833-990'> |
/home/data1/instantpq/public_html/env/lib/python3.7/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function user_guest_permission.<locals>.wrap at 0x7fd12bf07048> |
callback_args | () |
callback_kwargs | {'step': 'profile'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fd1301a1710>> |
request | <WSGIRequest: GET '/tools/instant_pre_qualification/profile/?ad=BR110-833-990'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fd1302134a8> |
wrapped_callback | <function user_guest_permission.<locals>.wrap at 0x7fd12bf07048> |
/home/data1/instantpq/public_html/turboagent/permission.py
, line 8, in wrap
from django.http import HttpResponseRedirect
from django.conf import settings
import hashlib
def user_guest_permission(function):
def wrap(request, *args, **kwargs):
user_hash = hashlib.md5(kwargs.get('resource_id', request.GET.get('user_guest_id', ''))).hexdigest()…
#print "=========UGP====="
#print "token: {} - user: {}".format(request.GET.get('token'), user_hash)
if (user_hash == request.GET.get('token')) or (kwargs.get('step') == 'profile') or (request.user and request.user.is_authenticated()):
return function(request, *args, **kwargs)
else:
return HttpResponseRedirect(settings.LOGIN_URL)
Variable | Value |
---|---|
args | () |
function | <function instant_pre_qualification at 0x7fd12beffea0> |
kwargs | {'step': 'profile'} |
request | <WSGIRequest: GET '/tools/instant_pre_qualification/profile/?ad=BR110-833-990'> |
AnonymousUser
Variable | Value |
---|---|
ad | 'BR110-833-990' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTEXT_DOCUMENT_ROOT | '/home/data1/instantpq/public_html' |
CONTEXT_PREFIX | '' |
DOCUMENT_ROOT | '/home/data1/instantpq/public_html' |
GATEWAY_INTERFACE | 'CGI/1.1' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'instantpq.com' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/tools/instant_pre_qualification/profile/' |
PATH_TRANSLATED | '/home/data1/instantpq/public_html/indianobros/wsgi.py/tools/instant_pre_qualification/profile/' |
QUERY_STRING | 'ad=BR110-833-990' |
REMOTE_ADDR | '3.91.245.93' |
REMOTE_PORT | '44294' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/tools/instant_pre_qualification/profile/?ad=BR110-833-990' |
SCRIPT_FILENAME | '/home/data1/instantpq/public_html/indianobros/wsgi.py' |
SCRIPT_NAME | '' |
SCRIPT_URI | 'https://instantpq.com/tools/instant_pre_qualification/profile/' |
SCRIPT_URL | '/tools/instant_pre_qualification/profile/' |
SERVER_ADDR | '172.30.4.114' |
SERVER_ADMIN | '[no address given]' |
SERVER_NAME | 'instantpq.com' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
SERVER_SIGNATURE | '********************' |
SERVER_SOFTWARE | 'Apache' |
SSL_TLS_SNI | 'instantpq.com' |
apache.version | (2, 4, 38) |
mod_wsgi.application_group | '' |
mod_wsgi.callable_object | 'application' |
mod_wsgi.daemon_connects | '1' |
mod_wsgi.daemon_restarts | '0' |
mod_wsgi.daemon_start | '1711693617752073' |
mod_wsgi.enable_sendfile | '0' |
mod_wsgi.handler_script | '' |
mod_wsgi.ignore_activity | '0' |
mod_wsgi.listener_host | '' |
mod_wsgi.listener_port | '443' |
mod_wsgi.path_info | '/tools/instant_pre_qualification/profile/' |
mod_wsgi.process_group | 'instantpq' |
mod_wsgi.queue_start | '1711693617751895' |
mod_wsgi.request_handler | 'wsgi-script' |
mod_wsgi.request_id | 'PuYMumah/UQ' |
mod_wsgi.request_start | '1711693617751614' |
mod_wsgi.script_name | '' |
mod_wsgi.script_reloading | '1' |
mod_wsgi.script_start | '1711693617752195' |
mod_wsgi.thread_id | 2 |
mod_wsgi.thread_requests | 11 |
mod_wsgi.total_requests | 23 |
mod_wsgi.version | (4, 6, 5) |
wsgi.errors | <_io.TextIOWrapper name='<wsgi.errors>' encoding='utf-8'> |
wsgi.file_wrapper | <class 'mod_wsgi.FileWrapper'> |
wsgi.input | <mod_wsgi.Input object at 0x7fd11dc76ea0> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
indianobros.settings_prod
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
ASGI_APPLICATION | 'indianobros.routing.application' |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'turboagent.User' |
BASE_DIR | '/home/data1/instantpq/public_html' |
BRIDGE_TOKEN | '********************' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CORS_ALLOWED_ORIGINS | ['https://instantpq.com/', 'https://*.instantpq.com/', 'http://localhost:8080', 'http://127.0.0.1:9000', 'https://matrix.southfloridamls.com'] |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | ['https://*.127.0.0.1https://*.instantpq.com/', 'https://matrix.southfloridamls.com'] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'NAME': 'instantpq_django', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'instantpq'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%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'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'notifications@bluecastlelending.com' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.mail.yahoo.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'notifications@bluecastlelending.com' |
EMAIL_PORT | 587 |
EMAIL_REPLY | 'notifications@bluecastlelending.com' |
EMAIL_SENDER | 'Bluecastle Lending <notifications@bluecastlelending.com>' |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | 60 |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 10485760 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
HIJACK_ALLOW_GET_REQUESTS | True |
HIJACK_LOGIN_REDIRECT_URL | '/admin' |
HIJACK_LOGOUT_REDIRECT_URL | '/admin' |
HIJACK_USE_BOOTSTRAP | True |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('turboagent', 'turboagent.api', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'rest_framework', 'rest_framework.authtoken', 'password_reset', 'session_security', 'hijack', 'compat', 'recurrence', 'django_filters', 'corsheaders', 'channels') |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian 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'), ('dsb', 'Lower Sorbian'), ('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'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('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'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/app/control/users/general/borrower/?last_name=&mlo=&is_staff=1&status=6' |
LOGIN_URL | '/admin/login/' |
LOGOUT_REDIRECT_URL | None |
MAIL_CCO | ['browardlist@gmail.com', 'info@indianobros.com'] |
MANAGERS | [] |
MEDIA_ROOT | '/home/data1/instantpq/public_html/files/' |
MEDIA_URL | '/files/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'session_security.middleware.SessionSecurityMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
REFERER | 'https://www.instantpq.com' |
REFERER_DOCUSIGN | 'https://app.docusign.com' |
REST_FRAMEWORK | {'DATETIME_FORMAT': '%m-%d-%Y %I:%M %p', 'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.TokenAuthentication'], 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticatedOrReadOnly'], 'PAGE_SIZE': 20} |
ROOT_URLCONF | 'turboagent.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | True |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SECURITY_EXPIRE_AFTER | 28800 |
SESSION_SECURITY_INSECURE | True |
SESSION_SECURITY_WARN_AFTER | 28620 |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'indianobros.settings_prod' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SHOWAMI_API_KEY | '********************' |
SHOWAMI_AUTH_TOKEN | '********************' |
SHOWAMI_EMAIL | 'alex@bluecastlelending.com' |
SHOWAMI_URL | 'https://showami.com' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | ('/home/data1/instantpq/public_html/static',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | None |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/turboagent/templates'], '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', 'django.template.context_processors.media']}}] |
TEMPLATE_DEBUG | True |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'America/New_York' |
TWILIO_ACCOUNT_SID | 'ACdaa82612cbd097318d3920d3a74e82a4' |
TWILIO_AUTH_TOKEN | '********************' |
TWILIO_NUMBER | '+19548669119' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'indianobros.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.