remove parser and add collection package into this library

This commit is contained in:
2022-10-27 19:57:52 +02:00
parent a22d611816
commit affab28c09
14 changed files with 434 additions and 390 deletions

View File

@@ -9,34 +9,22 @@ use Envoyr\NginxConfigurator\Node\Param;
require __DIR__ . '/../vendor/autoload.php';
$uuid = 'uuid';
$factory = new Factory();
$builder = new Builder();
$builder->append(new Directive('proxy_cache_path', [new Param("/data/nginx/cache/{$uuid}"), new Param("keys_zone={$uuid}:10m")]));
$server = $builder->append($factory->createServer(80));
$server->append(new Directive('error_log', [new Param('/var/log/nginx/error.log'), new Param('debug')]));
$server->append(new Location(new Param('/test'), null, [
new Directive('error_page', [new Param('401'), new Param('@unauthorized')]),
new Directive('set', [new Param('$auth_user'), new Literal('none')]),
new Directive('auth_request', [new Param('/auth')]),
new Directive('proxy_pass', [new Param('http://test-service')]),
$server->append(new Directive('error_log', [new Param("/data/nginx/log/{$uuid}.log"), new Param('debug')]));
$server->append(new Directive('proxy_cache', [new Param($uuid)]));
$server->append(new Location(new Param('/'), null, [
new Directive('error_page', [new Param('401')]),
new Directive('host', [new Param('example.com')]),
new Directive('proxy_pass', [new Param('https://example.com')]),
]));
$server->append(new Location(new Param('/auth'), null, [
new Directive('proxy_pass', [new Param('http://auth-service:9999')]),
new Directive('proxy_bind', [new Param('$server_addr')]),
new Directive('proxy_redirect', [new Param('http://$host'), new Param('https://$host')]),
new Directive('proxy_set_header', [new Param('Content-Length'), new Literal("")]),
new Directive('proxy_pass_request_body', [new Param('off')]),
]));
$server->append(new Location(new Param('@unauthorized'), null, [
new Directive('return', [new Param('302'), new Param('/login?backurl=$request_uri')]),
]));
$server->append(new Location(new Param('/login'), null, [
new Directive('expires', [new Param('-1')]),
new Directive('proxy_pass', [new Param('http://identity-provider-service')]),
new Directive('proxy_bind', [new Param('$server_addr')]),
new Directive('proxy_redirect', [new Param('http://$host'), new Param('https://$host')]),
new Directive('proxy_set_header', [new Param('Content-Length'), new Literal("")]),
new Directive('proxy_pass_request_body', [new Param('off')]),
$server->append(new Location(new Param('/.well-known/acme-challenge'), new Param('^~'), [
new Directive('proxy_pass', [new Param('https://le.cdn.gd')])
]));
print($builder->dump());