I don't think you can avoid making a response from within your app code, as 
everything is wrapped in a try/except, so whatever happens, web2py will 
eventually complete the response. You could always return an empty HTML 
page.

If you really want to minimize server resources, you should instead 
configure your web server or maybe iptables to do the blocking. If 
necessary, you could potentially even use Python/web2py to update the list 
of blocked addresses dynamically.

Anthony

On Saturday, December 5, 2015 at 7:41:09 PM UTC-5, Alfonso Serra wrote:
>
> Hi, im working on a blacklist and i was wondering if can make web2py to 
> fail silently on an early stage if the client is blacklisted.
>
> I have something like this in my models.
>
> #blacklist an ip
> def blacklist(ip):
>     if ip:
>         db.blacklist.insert(ip=ip)
>
> #hidden ips are considered black
> def isblack(ip):
>     if ip:
>         if not db(db.blacklist.ip==ip).select().first():
>             return False
>     return True
>
> if isblack(request.client):
>     raise 
>  
>
>
> Ive tested this on localhost and i get a ticket with a socket error, which 
> is ok, but will i get a ticket if i deploy the app?.
>
> I know could use "raise HTTP(404)" but i dont want the server to go any 
> further than that, waste any resource or even throw a ticket. Is it any 
> way? 
>
> Thanks.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to