mjumbewu / django-proxy Goto Github PK
View Code? Open in Web Editor NEWA simple HTTP proxy in a Django app
A simple HTTP proxy in a Django app
# This works
def get_sitemap(request, path):
request.META['CONTENT_LENGTH'] = 10000
remoteurl = 'https://remoteurl.com/' + path
return proxy_view(request, remoteurl)
# This not works
def get_sitemap(request, sitemap):
extra_requests_args = {
'headers': {
'CONTENT_LENGTH': 10000
}
}
remoteurl = 'https://remoteurl.com/' + sitemap
return proxy_view(request, remoteurl, requests_args=extra_requests_args)
We should be using response.raw
instead of response.content
in the proxy view. This would probably relieve us of the need to declare content-encoding and content-length as excluded headers.
The raw
will come through as a urllib3 HTTPResponse object. We can use this fact to even do things like return a streaming response when appropriate (maybe for another day though).
django-proxy is not python3 whereas setup.py qualifiers tell it is.
Interested by me porting to python 3 ?
Lib requests has such functionality as Retry.
https://www.peterbe.com/plog/best-practice-with-retries-with-requests
Is it possible to add the ability to use this functionality in django-proxy?
Hi,
When a GET request with list list parameters, such as http://<hostname>?selected=A&selected=B
, is proxied to an endpoint, only last parameter "B" is transmitted (using request.GET.getList('selected')
)
Regards
when I request /proxy/http://www.google.com
to runserver, view function gets url as http://www.google.com
But this changes when I run in nginx + uwsgi mode
view function gets url as http:/www.google.com
(with the single quote)
I am using python 2.7 and django 1.3.
Installed package using pip. I can see package is installed corectly
Below line is throwing error.
`
Django Version: | 1.3 |
---|---|
AttributeError | |
'module' object has no attribute 'views' |
return proxy.views.proxy_view(request, remoteurl)
`
Can you explain how exactly you are importing proxy ?
We use a process that looks through all of our installed Python package dependencies and collects license files for each. When a distribution package does not include its license file, that creates extra manual work for every release, making sure we have the correct license file for the version of the package that we are using.
I request that, for future releases, the license file be included in the distribution.
Since the license text is embedded in the README, including the README would be sufficient for my purposes, but others might employ processes that can only identify a license file if it has "LICENSE" in its name.
Thanks. :)
Reason being file uploads. You generally need to send the Content-Length header for multipart uploads.
What's the license on the project? ๐ค
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.