Hi,
I am trying to build an HTTP proxy running in GAE. This will be done
in Java, however my issues are not Java specific.

The origin would be called via urlfetch API. The proxy has to pass
some headers from the client to the origin. Specifically, Vary and X-
Forwarded-For. According to the documentation this is not possible
(both in Java and Python).
http://code.google.com/appengine/docs/java/urlfetch/overview.html#Request_Headers

Vary has to be passed from the caller, to handle caller language
preference (Accept-Language ) and other browser specific behavior. X-
Forwarded-For would be set according to the conventions used by HTTP
proxy servers. This is required for security and logging reasons in
the origin server.

1.       If I can’t set those headers myself, what are their values at
runtime?
2.      Would GAE do the X-Forwarded-For correctly based on the HTTP
request that triggered this service (pass the client IP from HTTP
Servlet request)?
3.      What happens if this request is not from an external client
(browser) but from a cron or queue? Is there any difference in the
auto populated headers in that case (comparing to invocation as part
of handling HTTP request)?
4.      I have not seen documentation about limitations of headers in the
HttpServletResponse, but I would imagine there are some if GAE tries
to automatically GZIP my response (which is implied by the
documentation). Any information on that.
5.      Is the behavior of the test server identical to the runtime, when
it comes to urlfetch request headers?

If anyone knows a solid proxy Servlet implementation that works in GAE
and uses urlfetch (not java.net) I would love to know about it as well!

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to