Improve the debug mode

This commit is contained in:
Thomas Sileo 2018-05-23 00:57:34 +02:00
parent cc900a2b4c
commit d90e489fc6
4 changed files with 23 additions and 2 deletions

View file

@ -69,7 +69,7 @@ $ pip install -r requirements.txt
# Start the Celery worker, RabbitMQ and MongoDB # Start the Celery worker, RabbitMQ and MongoDB
$ docker-compose -f docker-compose-dev.yml up -d $ docker-compose -f docker-compose-dev.yml up -d
# Run the server locally # Run the server locally
$ FLASK_APP=app.py flask run -p 5005 --with-threads $ MICROBLOGPUB_DEBUG=1 FLASK_APP=app.py flask run -p 5005 --with-threads
``` ```
## Contributions ## Contributions

View file

@ -13,6 +13,7 @@ services:
environment: environment:
- MICROBLOGPUB_AMQP_BROKER=pyamqp://guest@rmq// - MICROBLOGPUB_AMQP_BROKER=pyamqp://guest@rmq//
- MICROBLOGPUB_MONGODB_HOST=mongo:27017 - MICROBLOGPUB_MONGODB_HOST=mongo:27017
- MICROBLOGPUB_DEBUG=1
celery: celery:
build: . build: .
links: links:

View file

@ -0,0 +1,12 @@
import logging
logger = logging.getLogger(__name__)
def strtobool(s: str) -> bool:
if s in ['y', 'yes', 'true', 'on', '1']:
return True
if s in ['n', 'no', 'false', 'off', '0']:
return False
raise ValueError(f'cannot convert {s} to bool')

View file

@ -1,16 +1,24 @@
import logging import logging
import os
import socket import socket
import ipaddress import ipaddress
from urllib.parse import urlparse from urllib.parse import urlparse
from . import strtobool
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def is_url_valid(url): def is_url_valid(url: str) -> bool:
parsed = urlparse(url) parsed = urlparse(url)
if parsed.scheme not in ['http', 'https']: if parsed.scheme not in ['http', 'https']:
return False return False
# XXX in debug mode, we want to allow requests to localhost to test the federation with local instances
debug_mode = strtobool(os.getenv('MICROBLOGPUB_DEBUG', 'false'))
if debug_mode:
return True
if parsed.hostname in ['localhost']: if parsed.hostname in ['localhost']:
return False return False