I think you change 401 in this code to 429

 

From: [email protected]
[mailto:[email protected]] On Behalf Of Kyle Finley
Sent: Friday, August 03, 2012 8:02 AM
To: [email protected]
Subject: Re: [google-appengine] How can I block curl requests

 

Yes, thank you.  Do you have any thoughts on how to return error code 429?

 

On Aug 3, 2012, at 9:51 AM, Joshua Smith wrote:





There are couple problems with your snippet.

 

First, she's getting HEAD not GET requests, so you need to use different
handler.

 

Also, you aren't returning, so if you were in a GET request, it would
proceed to handle the request regardless.

 

Something more like this (untested):

 

class MainHandler(webapp.RequestHandler):

  def head(self):

    self.error(401)

 

  def get(self):

    if (self.request.headers['User-Agent'].startswith('curl'))

      self.error(401)

      return

    # rest of the get handler

 

On Aug 3, 2012, at 10:34 AM, Kyle Finley <[email protected]> wrote:





Hi Joshua, 

Thank you, that's a good thought. 

 

Kate sent me some files offline, and I believe we've figured out the
problem. For the middleware to work you must be using WSGI not CGI. Someone
please correct me if I'm wrong, but I believe she would have to upgrade here
App to python27 to use it. The alternative is to do the check in the webapp
request handler:

 

def check_for_curl(self):

    if self.request.environ['HTTP_USER_AGENT'].startswith('curl'):

        return self.error(401)

 

class MainHandler(webapp.RequestHandler):

    def get(self):

        check_for_curl(self)

        # handle request

 

The problem is that webapp doesn't recognize error code 429 so we have to
use something else. Unless there's a simple way to make it write 429?

 

- Kyle

 

-- 
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-appengine/-/TQuZYYR0wrAJ.
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.

 

 

-- 
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.

 

-- 
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.

-- 
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