def addslash(method):
 @functools.wraps(method)
 def wrapper(self, *args, **kwargs):
  if (not self.request.path.endswith('/')):
   if (self.request.method in ('GET', 'HEAD')):
    uri = (self.request.path + '/')
    if self.request.query:
     uri += ('?' + self.request.query)
    self.redirect(uri, permanent=True)
    return
   raise HTTPError(404)
  return method(self, *args, **kwargs)
 return wrapper

def addslash ( method ) : @ functools . wraps ( method ) def wrapper ( self , * args , ** kwargs ) : if ( not self . request . path . endswith ( '/' ) ) : if ( self . request . method in ( 'GET' , 'HEAD' ) ) : uri = ( self . request . path + '/' ) if self . request . query : uri += ( '?' + self . request . query ) self . redirect ( uri , permanent = True ) return raise HTTPError ( 404 ) return method ( self , * args , ** kwargs ) return wrapper
use this decorator to add a missing trailing slash to the request path .