Poco::RemotingNG::HTTP

class Listener

File Information

Library: RemotingNG/HTTP
Package: HTTP
Header: Poco/RemotingNG/HTTP/Listener.h

Description

The RemotingNG Listener implementation for the RemotingNG HTTP transport.

For more information, please see the Transport class.

Inheritance

Direct Base Classes: Poco::RemotingNG::Listener

All Base Classes: Poco::RefCountedObject, Poco::RemotingNG::Listener

Member Summary

Member Functions: createURI, enableChunkedTransferEncoding, enableCompression, handlesURI, isChunkedTransferEncodingEnabled, isCompressionEnabled, protocol, registerObject, start, stop, unregisterObject

Inherited Functions: createURI, duplicate, endPoint, getAuthenticator, getAuthorizer, handlesURI, protocol, referenceCount, registerObject, release, setAuthenticator, setAuthorizer, start, stop, unregisterObject

Types Aliases

Ptr

using Ptr = Poco::AutoPtr < Listener >;

Enumerations

Protocol

PROTO_HTTP

PROTO_HTTPS

Constructors

Listener

Listener(
    const std::string & endPoint,
    Protocol proto
);

Creates a Listener for the given endpoint, which must be in <host>:<port> format.

The value specified for proto determines the URI scheme used by createURI().

Note that the Listener instance created by this constructor does not actually accept requests itself. It merely registers an endpoint in the ORB. A Poco::Net::HTTPServer must be created for accepting RemotingNG HTTP requests using a HTTPRequestHandler.

Listener

Listener(
    const std::string & endPoint,
    Poco::Net::HTTPServerParams::Ptr pParams = new Poco::Net::HTTPServerParams
);

Creates a Listener for the given endpoint, which must be in <host>:<port> format.

This constructor will create a Poco::Net::HTTPServer instance for handling incoming HTTP requests, using a Poco::Net::ServerSocket bound to endPoint.

Listener

Listener(
    const std::string & endPoint,
    const Poco::Net::ServerSocket & socket,
    Poco::Net::HTTPServerParams::Ptr pParams = new Poco::Net::HTTPServerParams
);

Creates a Listener for the given endpoint, which must be in <host>:<port> format.

This constructor will create a Poco::Net::HTTPServer instance using the given server socket for handling incoming HTTP requests. The given server socket can be a Poco::Net::ServerSocket or a Poco::Net::SecureServerSocket which must be bound to a socket address corresponding to the given endPoint.

Destructor

~Listener virtual

~Listener();

Destroys the Listener.

Member Functions

createURI

std::string createURI(
    const Poco::RemotingNG::Identifiable::TypeId & typeId,
    const Poco::RemotingNG::Identifiable::ObjectId & objectId
);

enableChunkedTransferEncoding

void enableChunkedTransferEncoding(
    bool enable = true
);

Enables or disables chunked transfer encoding for responses. Default is enabled.

enableCompression

void enableCompression(
    bool enable = true
);

Enables or disables GZIP compression for responses. Default is enabled.

Note that chunked transfer encoding must also be enabled in order to allow compression.

handlesURI virtual

bool handlesURI(
    const std::string & uri
);

isChunkedTransferEncodingEnabled inline

bool isChunkedTransferEncodingEnabled() const;

Returns true iff chunked transfer encoding is enabled for responses.

isCompressionEnabled inline

bool isCompressionEnabled() const;

Returns true iff GZIP compression is enabled for responses.

protocol virtual

const std::string & protocol() const;

registerObject

void registerObject(
    Poco::RemotingNG::RemoteObject::Ptr pRemoteObject,
    Poco::RemotingNG::Skeleton::Ptr pSkeleton
);

start virtual

void start();

stop virtual

void stop();

unregisterObject

void unregisterObject(
    Poco::RemotingNG::RemoteObject::Ptr pRemoteObject
);

Securely control IoT edge devices from anywhere   Connect a Device