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
$ docker-compose -f docker-compose-dev.yml up -d
# 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

View file

@ -13,6 +13,7 @@ services:
environment:
- MICROBLOGPUB_AMQP_BROKER=pyamqp://guest@rmq//
- MICROBLOGPUB_MONGODB_HOST=mongo:27017
- MICROBLOGPUB_DEBUG=1
celery:
build: .
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 os
import socket
import ipaddress
from urllib.parse import urlparse
from . import strtobool
logger = logging.getLogger(__name__)
def is_url_valid(url):
def is_url_valid(url: str) -> bool:
parsed = urlparse(url)
if parsed.scheme not in ['http', 'https']:
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']:
return False