Skip to content

Commit 42fc735

Browse files
committed
rename repo
1 parent 17e0255 commit 42fc735

18 files changed

+105
-293
lines changed

README.md

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
1-
# Laravel Response Optimizer
1+
# Laravel Response Compression
22

3-
Boost your Laravel application's performance by optimizing HTTP responses with middleware for compression and HTML minification.
4-
5-
## Key Features
6-
7-
#### Compression
8-
9-
Shrink response payloads using Gzip or Brotli compression.
10-
11-
#### HTML Minification
12-
13-
Reduce the size of HTML responses by eliminating unnecessary whitespace and formatting.
3+
Boost your Laravel application's performance by optimizing HTTP responses with middleware for compression.
144

155
---
166

@@ -19,13 +9,13 @@ Reduce the size of HTML responses by eliminating unnecessary whitespace and form
199
Install the package via Composer:
2010

2111
```bash
22-
composer require chr15k/laravel-response-optimizer
12+
composer require chr15k/laravel-response-compression
2313
```
2414

2515
Publish the configuration file:
2616

2717
```bash
28-
php artisan vendor:publish --provider="Chr15k\ResponseOptimizer\ResponseOptimizerServiceProvider"
18+
php artisan vendor:publish --provider="Chr15k\ResponseCompression\ResponseCompressionServiceProvider"
2919
```
3020

3121
---
@@ -40,10 +30,6 @@ Applies Gzip or Brotli compression to HTTP responses based on client support. Th
4030

4131
**Ideal For**: Large JSON responses, static files, or data-intensive endpoints.
4232

43-
#### 2. HTML Minification Middleware
44-
45-
Minifies HTML responses by removing unnecessary whitespace and formatting to reduce payload size.
46-
4733
---
4834

4935
## Setup
@@ -61,8 +47,7 @@ Apply the middleware globally to all requests:
6147
...
6248
$middleware->web(append: [
6349
...
64-
\Chr15k\ResponseOptimizer\Middleware\MinifyHtml::class,
65-
\Chr15k\ResponseOptimizer\Middleware\CompressResponse::class,
50+
\Chr15k\ResponseCompression\Middleware\CompressResponse::class,
6651
]);
6752
})
6853
```
@@ -72,7 +57,7 @@ Apply the middleware globally to all requests:
7257
Alternatively, register it as route middleware for selective application:
7358

7459
```php
75-
use Chr15k\ResponseOptimizer\Middleware\CompressResponse;
60+
use Chr15k\ResponseCompression\Middleware\CompressResponse;
7661

7762
Route::get('/profile', function () {
7863
// ...
@@ -97,4 +82,4 @@ Contributions are welcome! Submit a pull request or open an issue to discuss new
9782

9883
## License
9984

100-
The MIT License (MIT). Please see [License File](https://github.com/chr15k/laravel-response-optimizer/blob/main/LICENSE) for more information.
85+
The MIT License (MIT). Please see [License File](https://github.com/chr15k/laravel-response-compression/blob/main/LICENSE) for more information.

composer.json

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "chr15k/laravel-response-optimizer",
2+
"name": "chr15k/laravel-response-compression",
33
"description": "Optimize your Laravel responses for performance",
44
"license": "MIT",
55
"keywords": [
@@ -20,8 +20,7 @@
2020
"php": "^8.3.0",
2121
"ext-zlib": "*",
2222
"illuminate/http": "^11.0",
23-
"illuminate/support": "^11.0",
24-
"voku/html-min": "^4.5"
23+
"illuminate/support": "^11.0"
2524
},
2625
"require-dev": {
2726
"laravel/pint": "^1.18.1",
@@ -34,12 +33,12 @@
3433
},
3534
"autoload": {
3635
"psr-4": {
37-
"Chr15k\\ResponseOptimizer\\": "src"
36+
"Chr15k\\ResponseCompression\\": "src"
3837
}
3938
},
4039
"autoload-dev": {
4140
"psr-4": {
42-
"Chr15k\\ResponseOptimizer\\Tests\\": "tests"
41+
"Chr15k\\ResponseCompression\\Tests\\": "tests"
4342
}
4443
},
4544
"config": {
@@ -52,7 +51,7 @@
5251
"extra": {
5352
"laravel": {
5453
"providers": [
55-
"Chr15k\\ResponseOptimizer\\ResponseOptimizerServiceProvider"
54+
"Chr15k\\ResponseCompression\\ResponseCompressionServiceProvider"
5655
]
5756
}
5857
},

config/response-compression.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
return [
4+
5+
/**
6+
* Enable or disable the response compression.
7+
*/
8+
'enabled' => env('RESPONSE_COMPRESSION_ENABLED', true),
9+
10+
/**
11+
* The compression algorithm to use. Can be either 'gzip' or 'br'.
12+
*/
13+
'algorithm' => env('RESPONSE_COMPRESSION_ALGORITHM', 'gzip'),
14+
15+
/**
16+
* The minimum length of the response content to be compressed.
17+
*/
18+
'min_length' => env('RESPONSE_COMPRESSION_MIN_LENGTH', 1024),
19+
20+
'gzip' => [
21+
/**
22+
* The level of compression. Can be given as 0 for no compression up to 9
23+
* for maximum compression. If not given, the default compression level will
24+
* be the default compression level of the zlib library.
25+
*
26+
* @see https://www.php.net/manual/en/function.gzencode.php
27+
*/
28+
'level' => env('RESPONSE_COMPRESSION_GZIP_LEVEL', 5),
29+
],
30+
31+
'br' => [
32+
/**
33+
* The level of compression. Can be given as 0 for no compression up to 11
34+
* for maximum compression. If not given, the default compression level will
35+
* be the default compression level of the brotli library.
36+
*
37+
* @see https://www.php.net/manual/en/function.brotli-compress.php
38+
*/
39+
'level' => env('RESPONSE_COMPRESSION_BROTLI_LEVEL', 5),
40+
],
41+
42+
];

config/response-optimizer.php

Lines changed: 0 additions & 61 deletions
This file was deleted.

src/Contracts/Encoder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace Chr15k\ResponseOptimizer\Contracts;
3+
namespace Chr15k\ResponseCompression\Contracts;
44

55
use Symfony\Component\HttpFoundation\Response;
66

src/Encoders/BrotliEncoder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
namespace Chr15k\ResponseOptimizer\Encoders;
3+
namespace Chr15k\ResponseCompression\Encoders;
44

5-
use Chr15k\ResponseOptimizer\Contracts\Encoder;
5+
use Chr15k\ResponseCompression\Contracts\Encoder;
66
use Symfony\Component\HttpFoundation\Response;
77

88
final class BrotliEncoder implements Encoder
@@ -29,7 +29,7 @@ public function handle(Response $response): Response
2929

3030
public function level(): int
3131
{
32-
$level = config('response-optimizer.compression.brotli.level');
32+
$level = config('response-compression.brotli.level');
3333

3434
return is_int($level) && $level >= 0 && $level <= 11 ? $level : 5;
3535
}

src/Encoders/GzipEncoder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
namespace Chr15k\ResponseOptimizer\Encoders;
3+
namespace Chr15k\ResponseCompression\Encoders;
44

5-
use Chr15k\ResponseOptimizer\Contracts\Encoder;
5+
use Chr15k\ResponseCompression\Contracts\Encoder;
66
use Symfony\Component\HttpFoundation\Response;
77

88
final class GzipEncoder implements Encoder
@@ -26,7 +26,7 @@ public function handle(Response $response): Response
2626

2727
public function level(): int
2828
{
29-
$level = config('response-optimizer.compression.gzip.level');
29+
$level = config('response-compression.gzip.level');
3030

3131
return is_int($level) && $level >= -1 && $level <= 9 ? $level : 5;
3232
}

src/Middleware/CompressResponse.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?php
22

3-
namespace Chr15k\ResponseOptimizer\Middleware;
3+
namespace Chr15k\ResponseCompression\Middleware;
44

5-
use Chr15k\ResponseOptimizer\Encoders\BrotliEncoder;
6-
use Chr15k\ResponseOptimizer\Encoders\GzipEncoder;
5+
use Chr15k\ResponseCompression\Encoders\BrotliEncoder;
6+
use Chr15k\ResponseCompression\Encoders\GzipEncoder;
77
use Closure;
88
use Symfony\Component\HttpFoundation\BinaryFileResponse;
99
use Symfony\Component\HttpFoundation\Request;
@@ -23,7 +23,7 @@ public function handle(Request $request, Closure $next): Response
2323
return $response;
2424
}
2525

26-
return match (config('response-optimizer.compression.algorithm')) {
26+
return match (config('response-compression.algorithm')) {
2727
'gzip' => $response = app(GzipEncoder::class)->handle($response),
2828
'br' => $response = app(BrotliEncoder::class)->handle($response),
2929
default => $response,
@@ -49,7 +49,7 @@ private function validateResponse(Response $response): bool
4949

5050
return $response->isSuccessful()
5151
&& is_string($content)
52-
&& strlen($content) > config('response-optimizer.compression.min_length')
52+
&& strlen($content) > config('response-compression.min_length')
5353
&& $this->validateResponseType($response);
5454
}
5555

@@ -67,7 +67,7 @@ private function validateResponseType(Response $response): bool
6767
private function validateRequest(Request $request): bool
6868
{
6969
return in_array(
70-
config('response-optimizer.compression.algorithm'),
70+
config('response-compression.algorithm'),
7171
$request->getEncodings()
7272
);
7373
}
@@ -78,7 +78,7 @@ private function validateRequest(Request $request): bool
7878
private function enabled(): bool
7979
{
8080
return filter_var(
81-
config('response-optimizer.compression.enabled'),
81+
config('response-compression.enabled'),
8282
FILTER_VALIDATE_BOOLEAN
8383
);
8484
}

src/Middleware/MinifyHtml.php

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)