# Poco::Net

# class HTTPRequestHandlerFactory

Library: Net
Package: HTTPServer
Header: Poco/Net/HTTPRequestHandlerFactory.h

## Description

A factory for HTTPRequestHandler objects. Subclasses must override the createRequestHandler() method.

## Member Summary

Member Functions: createRequestHandler

## Types Aliases

### Ptr

using Ptr = Poco::SharedPtr < HTTPRequestHandlerFactory >;

## Constructors

### HTTPRequestHandlerFactory

HTTPRequestHandlerFactory();

Creates the HTTPRequestHandlerFactory.

## Destructor

### ~HTTPRequestHandlerFactory

virtual ~HTTPRequestHandlerFactory();

Destroys the HTTPRequestHandlerFactory.

## Member Functions

### createRequestHandler

virtual HTTPRequestHandler * createRequestHandler(
const HTTPServerRequest & request
) = 0;

Must be overridden by subclasses.

Creates a new request handler for the given HTTP request.

The method should inspect the given HTTPServerRequest object (e.g., method and URI) and create an appropriate HTTPRequestHandler object to handle the request.

If the request contains a "Expect: 100-continue" header, it's possible to prevent the server from sending the default 100 Continue response by setting the status of the response object that can be obtained through the request object (request.response()) to something other than 200 OK.

## Variables

### serverStopped

Poco::BasicEvent < const bool > serverStopped;