code: def auth_basic(check, realm="private", text="Access denied"):
      ''' Callback decorator to require HTTP auth (basic).
          TODO: Add route(check_auth=...) parameter. '''
      def decorator(func):
        def wrapper(*a, **ka):
          user, password = request.auth or (None, None)
          if user is None or not check(user, password):
            response.headers['WWW-Authenticate'] = 'Basic realm="%s"' % realm
            return HTTPError(401, text)
          return func(*a, **ka)
        return wrapper
      return decoratof auth_basic(check, realm="private", text="Access denied"):
      ''' Callback decorator to require HTTP auth (basic).
          TODO: Add route(check_auth=...) parameter. '''
      def decorator(func):
        def wrapper(*a, **ka):
          user, password = request.auth or (None, None)
          if user is None or not check(user, password):
            response.headers['WWW-Authenticate'] = 'Basic realm="%s"' % realm
            return HTTPError(401, text)
          return func(*a, **ka)
        return wrapper
      return decorator
docs: Callback decorator to require HTTP auth (basic).
          TODO: Add route(check_auth=...) parameter.