Stack Overflow Asked by Augusto Samamé Barrientos on December 12, 2020
I’m trying to figure out a way to have different CORS rules based on the backend endpoint frontend would hit.
So I can have
/api endpoint with a CORS domain whitelist and
/public-api without a CORS domain whitelist.
This is needed because I have both internal endpoints I use for my own frontend, and a public JS widget that can be installed in any 3rd party domain.
I’ve looked at django-cors-headers
library, but it’s regex configuration
CORS_ORIGIN_REGEX_WHITELIST = []
works to let requests FROM a list of domains through.
In my case, I need to a way to have a regex (or another method) to let requests TO my endpoints through or not.
django-cors-headers allows you to specify a custom handler function that will check if the request should be allowed. In your case you can use something like this:
# myapp/handlers.py
from corsheaders.signals import check_request_enabled
def cors_allow_particular_urls(sender, request, **kwargs):
return request.path.startswith('/public-api/')
check_request_enabled.connect(cors_allow_mysites)
handlers.py
needs to be loaded in app config:
# myapp/__init__.py
default_app_config = 'myapp.apps.MyAppConfig'
# myapp/apps.py
from django.apps import AppConfig
class MyAppConfig(AppConfig):
name = 'myapp'
def ready(self):
# Makes sure all signal handlers are connected
from myapp import handlers # noqa
More info here: https://github.com/adamchainz/django-cors-headers#signals
Correct answer by Olzhas Arystanov on December 12, 2020
If you can club your private URLs under a separate prefix (ex: /private/<something>
) you can use CORS_URLS_REGEX=r'^/private/.*$'
You can read more about it here: https://github.com/adamchainz/django-cors-headers#cors_urls_regex
Answered by anilkumarggk on December 12, 2020
0 Asked on January 5, 2021 by tu-ai-le
1 Asked on January 5, 2021 by clemson
1 Asked on January 5, 2021 by don-hatch
1 Asked on January 5, 2021 by benstackoverflow
2 Asked on January 5, 2021 by user3579222
4 Asked on January 4, 2021 by mrfacundo
2 Asked on January 4, 2021 by iliketocode123465
0 Asked on January 4, 2021 by adriano
0 Asked on January 4, 2021 by no-one
2 Asked on January 4, 2021 by ali-has
1 Asked on January 3, 2021 by 010110110101
0 Asked on January 3, 2021 by katie-schmidt
3 Asked on January 3, 2021 by snusifer
functional programming lisp list scheme tail call optimization
1 Asked on January 3, 2021 by ns68
0 Asked on January 3, 2021 by anna-bleha
Get help from others!
Recent Questions
Recent Answers
© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP