Browse Source

Merge pull request #180 from rudiedirkx/no_head

#176 don't document HEAD
Shalvah A 6 years ago
parent
commit
fc0db6e2f0

+ 1 - 1
src/Mpociot/ApiDoc/Generators/DingoGenerator.php

@@ -81,6 +81,6 @@ class DingoGenerator extends AbstractGenerator
      */
      */
     public function getMethods($route)
     public function getMethods($route)
     {
     {
-        return $route->getMethods();
+        return array_diff($route->getMethods(), ['HEAD']);
     }
     }
 }
 }

+ 4 - 2
src/Mpociot/ApiDoc/Generators/LaravelGenerator.php

@@ -36,10 +36,12 @@ class LaravelGenerator extends AbstractGenerator
     public function getMethods($route)
     public function getMethods($route)
     {
     {
         if (version_compare(app()->version(), '5.4', '<')) {
         if (version_compare(app()->version(), '5.4', '<')) {
-            return $route->getMethods();
+            $methods = $route->getMethods();
+        } else {
+            $methods = $route->methods();
         }
         }
 
 
-        return $route->methods();
+        return array_diff($methods, ['HEAD']);
     }
     }
 
 
     /**
     /**

+ 1 - 1
tests/ApiDocGeneratorTest.php

@@ -53,7 +53,7 @@ class ApiDocGeneratorTest extends TestCase
 
 
         $route = new Route(['GET'], '/get', ['uses' => TestController::class.'@parseMethodDescription']);
         $route = new Route(['GET'], '/get', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
         $parsed = $this->generator->processRoute($route);
-        $this->assertSame(['GET', 'HEAD'], $parsed['methods']);
+        $this->assertSame(['GET'], $parsed['methods']);
 
 
         $route = new Route(['POST'], '/post', ['uses' => TestController::class.'@parseMethodDescription']);
         $route = new Route(['POST'], '/post', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
         $parsed = $this->generator->processRoute($route);

+ 1 - 1
tests/DingoGeneratorTest.php

@@ -68,7 +68,7 @@ class DingoGeneratorTest extends TestCase
         });
         });
         $route = app('Dingo\Api\Routing\Router')->getRoutes()['v1']->getRoutes()[0];
         $route = app('Dingo\Api\Routing\Router')->getRoutes()['v1']->getRoutes()[0];
         $parsed = $this->generator->processRoute($route);
         $parsed = $this->generator->processRoute($route);
-        $this->assertSame(['GET', 'HEAD'], $parsed['methods']);
+        $this->assertSame(['GET'], $parsed['methods']);
 
 
         $route = app('Dingo\Api\Routing\Router')->getRoutes()['v1']->getRoutes()[1];
         $route = app('Dingo\Api\Routing\Router')->getRoutes()['v1']->getRoutes()[1];
         $parsed = $this->generator->processRoute($route);
         $parsed = $this->generator->processRoute($route);

+ 4 - 8
tests/Fixtures/index.md

@@ -21,7 +21,7 @@ Welcome to the generated API reference.
 <!-- END_INFO -->
 <!-- END_INFO -->
 
 
 #general
 #general
-<!-- START_08307893aff90cc5097c48a1c8fc2f6d -->
+<!-- START_0bef4e738c9d6720ad43b062015d1078 -->
 ## Example title.
 ## Example title.
 
 
 This will be the long description.
 This will be the long description.
@@ -59,12 +59,10 @@ null
 ### HTTP Request
 ### HTTP Request
 `GET api/test`
 `GET api/test`
 
 
-`HEAD api/test`
 
 
+<!-- END_0bef4e738c9d6720ad43b062015d1078 -->
 
 
-<!-- END_08307893aff90cc5097c48a1c8fc2f6d -->
-
-<!-- START_8ba174f2507a0967efd46fab3764b80e -->
+<!-- START_960a1b2b0f0f4dde8ce993307397f9c4 -->
 ## api/fetch
 ## api/fetch
 
 
 > Example request:
 > Example request:
@@ -105,8 +103,6 @@ $.ajax(settings).done(function (response) {
 ### HTTP Request
 ### HTTP Request
 `GET api/fetch`
 `GET api/fetch`
 
 
-`HEAD api/fetch`
-
 
 
-<!-- END_8ba174f2507a0967efd46fab3764b80e -->
+<!-- END_960a1b2b0f0f4dde8ce993307397f9c4 -->
 
 

+ 8 - 16
tests/Fixtures/resource_index.md

@@ -21,7 +21,7 @@ Welcome to the generated API reference.
 <!-- END_INFO -->
 <!-- END_INFO -->
 
 
 #general
 #general
-<!-- START_2ea88ff35aa222f5582e50f39a2b35fd -->
+<!-- START_2b6e5a4b188cb183c7e59558cce36cb6 -->
 ## Display a listing of the resource.
 ## Display a listing of the resource.
 
 
 > Example request:
 > Example request:
@@ -58,12 +58,10 @@ $.ajax(settings).done(function (response) {
 ### HTTP Request
 ### HTTP Request
 `GET api/user`
 `GET api/user`
 
 
-`HEAD api/user`
 
 
+<!-- END_2b6e5a4b188cb183c7e59558cce36cb6 -->
 
 
-<!-- END_2ea88ff35aa222f5582e50f39a2b35fd -->
-
-<!-- START_99a7210df460e7fd8ad2508ee28b9763 -->
+<!-- START_7f66c974d24032cb19061d55d801f62b -->
 ## Show the form for creating a new resource.
 ## Show the form for creating a new resource.
 
 
 > Example request:
 > Example request:
@@ -100,10 +98,8 @@ $.ajax(settings).done(function (response) {
 ### HTTP Request
 ### HTTP Request
 `GET api/user/create`
 `GET api/user/create`
 
 
-`HEAD api/user/create`
-
 
 
-<!-- END_99a7210df460e7fd8ad2508ee28b9763 -->
+<!-- END_7f66c974d24032cb19061d55d801f62b -->
 
 
 <!-- START_f0654d3f2fc63c11f5723f233cc53c83 -->
 <!-- START_f0654d3f2fc63c11f5723f233cc53c83 -->
 ## Store a newly created resource in storage.
 ## Store a newly created resource in storage.
@@ -138,7 +134,7 @@ $.ajax(settings).done(function (response) {
 
 
 <!-- END_f0654d3f2fc63c11f5723f233cc53c83 -->
 <!-- END_f0654d3f2fc63c11f5723f233cc53c83 -->
 
 
-<!-- START_7a5835399fad9a53bc0430d6e3054297 -->
+<!-- START_ceec0e0b1d13d731ad96603d26bccc2f -->
 ## Display the specified resource.
 ## Display the specified resource.
 
 
 > Example request:
 > Example request:
@@ -175,12 +171,10 @@ $.ajax(settings).done(function (response) {
 ### HTTP Request
 ### HTTP Request
 `GET api/user/{user}`
 `GET api/user/{user}`
 
 
-`HEAD api/user/{user}`
 
 
+<!-- END_ceec0e0b1d13d731ad96603d26bccc2f -->
 
 
-<!-- END_7a5835399fad9a53bc0430d6e3054297 -->
-
-<!-- START_5ed9d10b12650f9536edfa994fafae15 -->
+<!-- START_f4aa12af19ba08e1448d7eafc9f55e67 -->
 ## Show the form for editing the specified resource.
 ## Show the form for editing the specified resource.
 
 
 > Example request:
 > Example request:
@@ -217,10 +211,8 @@ $.ajax(settings).done(function (response) {
 ### HTTP Request
 ### HTTP Request
 `GET api/user/{user}/edit`
 `GET api/user/{user}/edit`
 
 
-`HEAD api/user/{user}/edit`
-
 
 
-<!-- END_5ed9d10b12650f9536edfa994fafae15 -->
+<!-- END_f4aa12af19ba08e1448d7eafc9f55e67 -->
 
 
 <!-- START_a4a2abed1e8e8cad5e6a3282812fe3f3 -->
 <!-- START_a4a2abed1e8e8cad5e6a3282812fe3f3 -->
 ## Update the specified resource in storage.
 ## Update the specified resource in storage.

+ 6 - 6
tests/GenerateDocumentationTest.php

@@ -64,8 +64,8 @@ class GenerateDocumentationTest extends TestCase
         $output = $this->artisan('api:generate', [
         $output = $this->artisan('api:generate', [
             '--routePrefix' => 'api/*',
             '--routePrefix' => 'api/*',
         ]);
         ]);
-        $this->assertContains('Skipping route: [GET,HEAD] api/closure', $output);
-        $this->assertContains('Processed route: [GET,HEAD] api/test', $output);
+        $this->assertContains('Skipping route: [GET] api/closure', $output);
+        $this->assertContains('Processed route: [GET] api/test', $output);
     }
     }
 
 
     public function testConsoleCommandDoesNotWorkWithClosureUsingDingo()
     public function testConsoleCommandDoesNotWorkWithClosureUsingDingo()
@@ -85,8 +85,8 @@ class GenerateDocumentationTest extends TestCase
                 '--router' => 'dingo',
                 '--router' => 'dingo',
                 '--routePrefix' => 'v1',
                 '--routePrefix' => 'v1',
             ]);
             ]);
-            $this->assertContains('Skipping route: [GET,HEAD] closure', $output);
-            $this->assertContains('Processed route: [GET,HEAD] test', $output);
+            $this->assertContains('Skipping route: [GET] closure', $output);
+            $this->assertContains('Processed route: [GET] test', $output);
         });
         });
     }
     }
 
 
@@ -98,8 +98,8 @@ class GenerateDocumentationTest extends TestCase
         $output = $this->artisan('api:generate', [
         $output = $this->artisan('api:generate', [
             '--routePrefix' => 'api/*',
             '--routePrefix' => 'api/*',
         ]);
         ]);
-        $this->assertContains('Skipping route: [GET,HEAD] api/skip', $output);
-        $this->assertContains('Processed route: [GET,HEAD] api/test', $output);
+        $this->assertContains('Skipping route: [GET] api/skip', $output);
+        $this->assertContains('Processed route: [GET] api/test', $output);
     }
     }
 
 
     public function testCanParseResourceRoutes()
     public function testCanParseResourceRoutes()