mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-04 05:30:32 -05:00 
			
		
		
		
	
		
			
	
	
		
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  @file
							 | 
						||
| 
								 | 
							
								  @author Stefan Frings
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef HTTPREQUESTHANDLER_H
							 | 
						||
| 
								 | 
							
								#define HTTPREQUESTHANDLER_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "httpglobal.h"
							 | 
						||
| 
								 | 
							
								#include "httprequest.h"
							 | 
						||
| 
								 | 
							
								#include "httpresponse.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace stefanfrings {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								   The request handler generates a response for each HTTP request. Web Applications
							 | 
						||
| 
								 | 
							
								   usually have one central request handler that maps incoming requests to several
							 | 
						||
| 
								 | 
							
								   controllers (servlets) based on the requested path.
							 | 
						||
| 
								 | 
							
								   <p>
							 | 
						||
| 
								 | 
							
								   You need to override the service() method or you will always get an HTTP error 501.
							 | 
						||
| 
								 | 
							
								   <p>
							 | 
						||
| 
								 | 
							
								   @warning Be aware that the main request handler instance must be created on the heap and
							 | 
						||
| 
								 | 
							
								   that it is used by multiple threads simultaneously.
							 | 
						||
| 
								 | 
							
								   @see StaticFileController which delivers static local files.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class DECLSPEC HttpRequestHandler : public QObject {
							 | 
						||
| 
								 | 
							
								    Q_OBJECT
							 | 
						||
| 
								 | 
							
								    Q_DISABLE_COPY(HttpRequestHandler)
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Constructor.
							 | 
						||
| 
								 | 
							
								     * @param parent Parent object.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    HttpRequestHandler(QObject* parent=NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /** Destructor */
							 | 
						||
| 
								 | 
							
								    virtual ~HttpRequestHandler();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								      Generate a response for an incoming HTTP request.
							 | 
						||
| 
								 | 
							
								      @param request The received HTTP request
							 | 
						||
| 
								 | 
							
								      @param response Must be used to return the response
							 | 
						||
| 
								 | 
							
								      @warning This method must be thread safe
							 | 
						||
| 
								 | 
							
								    */
							 | 
						||
| 
								 | 
							
								    virtual void service(HttpRequest& request, HttpResponse& response);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // end of namespace
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif // HTTPREQUESTHANDLER_H
							 |