flask源碼分析

wsgi協(xié)議

關(guān)于wsgi協(xié)議就不贅述了檐嚣,以下是最簡單的符合wsgi的應(yīng)用

def application(environ,star_response):
    star_response('200 OK',[('Content-Type','text/html')])
    return 'hello xy'

from wsgiref.simple_server import make_server
server = make_server('',8002,application)
server.serve_forever()

app attriabute

class Flask:
    def __init__(self, package_name):

        self.package_name = package_name
        self.root_path = _get_package_path(self.package_name)

        self.view_functions = {}
        self.error_handlers = {}
        self.before_request_funcs = []
        self.after_request_funcs = []
        self.url_map = Map()

app.run

函數(shù)棧調(diào)用如下:

app.run()
    run_simple()
        make_server()
            srv.serve_forever()

request handler

werkzug.serving.run_wsgi()
    execute()
        application_iter = app(environ, start_response)
            __call__()
            self.wsgi_app(environ, start_response)

                ctx = self.request_context(environ)
                ctx.push()
                response = self.full_dispatch_request()
                return response(environ, start_response)

full_dispatch_request

preprocess_request
dispatch_request
finalize_request

dispatch_request

def dispatch_request(self):
    """Does the request dispatching.  Matches the URL and returns the
    return value of the view or error handler.  This does not have to
    be a response object.  In order to convert the return value to a
    proper response object, call :func:`make_response`.
    """

    req = _request_ctx_stack.top.request
    if req.routing_exception is not None:
        self.raise_routing_exception(req)
    rule = req.url_rule

    # dispatch to the handler for that endpoint
    return self.view_functions[rule.endpoint](**req.view_args)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娶吞,一起剝皮案震驚了整個濱河市梧疲,隨后出現(xiàn)的幾起案子组砚,更是在濱河造成了極大的恐慌拆挥,老刑警劉巖畔咧,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娶靡,死亡現(xiàn)場離奇詭異牧牢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)姿锭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門塔鳍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呻此,你說我怎么就攤上這事轮纫。” “怎么了焚鲜?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵掌唾,是天一觀的道長。 經(jīng)常有香客問我忿磅,道長糯彬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任葱她,我火速辦了婚禮撩扒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吨些。我一直安慰自己搓谆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布锤灿。 她就那樣靜靜地躺著挽拔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪但校。 梳的紋絲不亂的頭發(fā)上螃诅,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼术裸。 笑死倘是,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的袭艺。 我是一名探鬼主播搀崭,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼猾编!你這毒婦竟也來了瘤睹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤答倡,失蹤者是張志新(化名)和其女友劉穎轰传,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘪撇,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡获茬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了倔既。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恕曲。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渤涌,靈堂內(nèi)的尸體忽然破棺而出佩谣,到底是詐尸還是另有隱情,我是刑警寧澤歼捏,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布稿存,位于F島的核電站,受9級特大地震影響瞳秽,放射性物質(zhì)發(fā)生泄漏瓣履。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一练俐、第九天 我趴在偏房一處隱蔽的房頂上張望袖迎。 院中可真熱鬧,春花似錦腺晾、人聲如沸燕锥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽归形。三九已至,卻和暖如春鼻由,著一層夾襖步出監(jiān)牢的瞬間暇榴,已是汗流浹背厚棵。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蔼紧,地道東北人婆硬。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像奸例,于是被迫代替她去往敵國和親彬犯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • flask源碼分析 1. 前言 本文將基于flask 0.1版本(git checkout 8605cc3)來分析...
    甘尼克斯_閱讀 2,715評論 1 0
  • [TOC]一直想做源碼閱讀這件事查吊,總感覺難度太高時間太少谐区,可望不可見。最近正好時間充裕逻卖,決定試試做一下卢佣,并記錄一下...
    何柯君閱讀 7,191評論 3 98
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,264評論 25 707
  • Refer to: www.threemeal.com/blog/12/ 中間件 中間件是一個鉤子框架,它們可以介...
    蘭山小亭閱讀 16,504評論 9 165
  • 吃飯時兒子問我:“媽媽箭阶,你們小時候都吃什么點心和糖?最貴的冰棍多錢戈鲁?” “我們小時候哪有什么點心仇参,糖就是那種粘牙糖...
    李宇航媽媽閱讀 138評論 0 2