按照顺序从CGI开始入手
Ruby CGI Doc:
The Common Gateway Interface (CGI) is a simple protocol for passing an HTTP request from a web server to a standalone program, and returning the output to the web browser. Basically, a CGI program is called with the parameters of the request passed in either in the environment (GET) or via $stdin (POST), and everything it prints to $stdout is returned to the client.
这个类重点在于process!方法:
 
(1)   mark_features!
    def mark_features!
      @features = $".clone
    end
    
    // 通过 $" 得到Rails加载的所有.rb文件名组成的list
(2)  process_each_request 
 
(3) process_request
 

4) with_signal_handler 
    def with_signal_handler(signal)
      install_signal_handler(signal)
      yield
    ensure
      install_signal_handler(signal, 'DEFAULT')
    end
5) install_signal_handler
 
这个方法实际上是将各个handler方法和一些signal绑定,
这些信号发送后就会调用各个handler
 

接下来就到Dispatcher里面了




Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐