Skip to content

Commit

Permalink
Exclude in MagicLinkMiddleware http head request (#97)
Browse files Browse the repository at this point in the history
* dont run middlewarein http GET request

* add test to http request
  • Loading branch information
cesargb committed Apr 15, 2023
1 parent c89cd35 commit 8465ed3
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/Middlewares/MagiclinkMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ class MagiclinkMiddleware
{
public function handle(Request $request, Closure $next)
{
if($request->method() === 'HEAD') {
return $next($request);
}

$token = (string) $request->route('token');

$magicLink = MagicLink::getValidMagicLinkByToken($token);
Expand Down
63 changes: 63 additions & 0 deletions tests/HttpTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php

namespace MagicLink\Test;

use MagicLink\Actions\ResponseAction;
use MagicLink\MagicLink;

class HttpTest extends TestCase
{
public function test_http_get_request()
{
$magiclink = MagicLink::create(new ResponseAction(function () {
return 'private content';
}));

$magiclink->num_visits = 4;
$magiclink->save();

$this->get($magiclink->url)
->assertStatus(200)
->assertSeeText('private content');

$magiclink->refresh();

$this->assertEquals(5, $magiclink->num_visits);
}

public function test_http_head_request_has_not_effects()
{
$magiclink = MagicLink::create(new ResponseAction(function () {
return 'private content';
}));

$magiclink->num_visits = 4;
$magiclink->save();

$this->head($magiclink->url)
->assertStatus(200)
->assertDontSeeText('private content');

$magiclink->refresh();

$this->assertEquals(4, $magiclink->num_visits);
}

public function test_http_options_request_has_not_effects()
{
$magiclink = MagicLink::create(new ResponseAction(function () {
return 'private content';
}));

$magiclink->num_visits = 4;
$magiclink->save();

$this->options($magiclink->url)
->assertStatus(200)
->assertDontSeeText('private content');

$magiclink->refresh();

$this->assertEquals(4, $magiclink->num_visits);
}
}

0 comments on commit 8465ed3

Please sign in to comment.