Skip to content

Commit 7b90ebb

Browse files
committed
Add SslRedirectMiddleware to api.php for #676
1 parent 25c47df commit 7b90ebb

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

api.php

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8302,6 +8302,34 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
83028302
}
83038303
}
83048304

8305+
// file: src/Tqdev/PhpCrudApi/Middleware/SslRedirectMiddleware.php
8306+
namespace Tqdev\PhpCrudApi\Middleware {
8307+
8308+
use Psr\Http\Message\ResponseInterface;
8309+
use Psr\Http\Message\ServerRequestInterface;
8310+
use Psr\Http\Server\RequestHandlerInterface;
8311+
use Tqdev\PhpCrudApi\Middleware\Base\Middleware;
8312+
use Tqdev\PhpCrudApi\ResponseFactory;
8313+
8314+
class SslRedirectMiddleware extends Middleware
8315+
{
8316+
public function process(ServerRequestInterface $request, RequestHandlerInterface $next): ResponseInterface
8317+
{
8318+
$uri = $request->getUri();
8319+
$scheme = $uri->getScheme();
8320+
if ($scheme == 'http') {
8321+
$uri = $request->getUri();
8322+
$uri = $uri->withScheme('https');
8323+
$response = ResponseFactory::fromStatus(301);
8324+
$response = $response->withHeader('Location', $uri->__toString());
8325+
} else {
8326+
$response = $next->handle($request);
8327+
}
8328+
return $response;
8329+
}
8330+
}
8331+
}
8332+
83058333
// file: src/Tqdev/PhpCrudApi/Middleware/ValidationMiddleware.php
83068334
namespace Tqdev\PhpCrudApi\Middleware {
83078335

@@ -10545,13 +10573,14 @@ private function setHabtmValues(ReflectedTable $t1, ReflectedTable $t2, array &$
1054510573
use Tqdev\PhpCrudApi\Middleware\IpAddressMiddleware;
1054610574
use Tqdev\PhpCrudApi\Middleware\JoinLimitsMiddleware;
1054710575
use Tqdev\PhpCrudApi\Middleware\JwtAuthMiddleware;
10548-
use Tqdev\PhpCrudApi\Middleware\XmlMiddleware;
1054910576
use Tqdev\PhpCrudApi\Middleware\MultiTenancyMiddleware;
1055010577
use Tqdev\PhpCrudApi\Middleware\PageLimitsMiddleware;
1055110578
use Tqdev\PhpCrudApi\Middleware\ReconnectMiddleware;
1055210579
use Tqdev\PhpCrudApi\Middleware\Router\SimpleRouter;
1055310580
use Tqdev\PhpCrudApi\Middleware\SanitationMiddleware;
10581+
use Tqdev\PhpCrudApi\Middleware\SslRedirectMiddleware;
1055410582
use Tqdev\PhpCrudApi\Middleware\ValidationMiddleware;
10583+
use Tqdev\PhpCrudApi\Middleware\XmlMiddleware;
1055510584
use Tqdev\PhpCrudApi\Middleware\XsrfMiddleware;
1055610585
use Tqdev\PhpCrudApi\OpenApi\OpenApiService;
1055710586
use Tqdev\PhpCrudApi\Record\ErrorCode;
@@ -10582,6 +10611,9 @@ public function __construct(Config $config)
1058210611
$router = new SimpleRouter($config->getBasePath(), $responder, $cache, $config->getCacheTime(), $config->getDebug());
1058310612
foreach ($config->getMiddlewares() as $middleware => $properties) {
1058410613
switch ($middleware) {
10614+
case 'sslRedirect':
10615+
new SslRedirectMiddleware($router, $responder, $properties);
10616+
break;
1058510617
case 'cors':
1058610618
new CorsMiddleware($router, $responder, $properties);
1058710619
break;

0 commit comments

Comments
 (0)