26 lines
		
	
	
		
			517 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			517 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "HttpParser.h"
 | 
						|
 | 
						|
#include "Http1Parser.h"
 | 
						|
#include "Http2Parser.h"
 | 
						|
 | 
						|
HttpParser* HttpParser::New(http_session_type type, http_version version) {
 | 
						|
    HttpParser* hp = NULL;
 | 
						|
    if (version == HTTP_V1) {
 | 
						|
        hp = new Http1Parser(type);
 | 
						|
    }
 | 
						|
    else if (version == HTTP_V2) {
 | 
						|
#ifdef WITH_NGHTTP2
 | 
						|
        hp = new Http2Parser(type);
 | 
						|
#else
 | 
						|
        fprintf(stderr, "Please recompile WITH_NGHTTP2!\n");
 | 
						|
#endif
 | 
						|
    }
 | 
						|
 | 
						|
    if (hp) {
 | 
						|
        hp->version = version;
 | 
						|
        hp->type = type;
 | 
						|
    }
 | 
						|
 | 
						|
    return hp;
 | 
						|
}
 |