

@wsgify
def __call__(self, req):
    if (req.method not in ('GET', 'HEAD')):
        return exc.HTTPMethodNotAllowed(('You cannot %s a file' % req.method))
    try:
        stat = os.stat(self.filename)
    except (IOError, OSError) as e:
        msg = ("Can't open %r: %s" % (self.filename, e))
        return exc.HTTPNotFound(comment=msg)
    try:
        file = req._open(self.filename, 'rb')
    except (IOError, OSError) as e:
        msg = ('You are not permitted to view this file (%s)' % e)
        return exc.HTTPForbidden(msg)
    if ('wsgi.file_wrapper' in req.environ):
        app_iter = req.environ['wsgi.file_wrapper'](file, BLOCK_SIZE)
    else:
        app_iter = FileIter(file)
    return Response(app_iter=app_iter, content_length=stat.st_size, last_modified=stat.st_mtime, **self.kw).conditional_response_app

dataset/ETHPy150Open AppScale/appscale/AppServer/lib/webob-1.2.3/webob/static.py FileApp.__call__/VarMisuse@104/148 `self`->`req`