1<?php 2 3/** 4 * This file is part of the FreeDSx LDAP package. 5 * 6 * (c) Chad Sikorra <Chad.Sikorra@gmail.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace FreeDSx\Ldap\Protocol\ClientProtocolHandler; 13 14use FreeDSx\Ldap\Exception\OperationException; 15use FreeDSx\Ldap\Exception\UnsolicitedNotificationException; 16use FreeDSx\Ldap\Protocol\LdapMessageResponse; 17 18/** 19 * Handles request specific protocol communication details. 20 * 21 * @internal 22 * @author Chad Sikorra <Chad.Sikorra@gmail.com> 23 */ 24interface RequestHandlerInterface 25{ 26 /** 27 * Pass a request to the specific handler and return a response (if applicable). 28 * 29 * @throws UnsolicitedNotificationException 30 * @throws OperationException 31 */ 32 public function handleRequest(ClientProtocolContext $context): ?LdapMessageResponse; 33} 34