|
@@ -4,6 +4,7 @@ namespace Knuckles\Scribe\Extracting\Strategies\Responses;
|
|
|
|
|
|
use Knuckles\Camel\Extraction\ExtractedEndpointData;
|
|
use Knuckles\Camel\Extraction\ExtractedEndpointData;
|
|
use Knuckles\Scribe\Extracting\RouteDocBlocker;
|
|
use Knuckles\Scribe\Extracting\RouteDocBlocker;
|
|
|
|
+use Knuckles\Scribe\Extracting\Shared\ResponseFileTools;
|
|
use Knuckles\Scribe\Extracting\Strategies\Strategy;
|
|
use Knuckles\Scribe\Extracting\Strategies\Strategy;
|
|
use Knuckles\Scribe\Tools\AnnotationParser as a;
|
|
use Knuckles\Scribe\Tools\AnnotationParser as a;
|
|
use Knuckles\Scribe\Tools\Utils;
|
|
use Knuckles\Scribe\Tools\Utils;
|
|
@@ -38,8 +39,7 @@ class UseResponseFileTag extends Strategy
|
|
|
|
|
|
$status = $attributes['status'] ?: ($status ?: 200);
|
|
$status = $attributes['status'] ?: ($status ?: 200);
|
|
$description = $attributes['scenario'] ? "$status, {$attributes['scenario']}" : "$status";
|
|
$description = $attributes['scenario'] ? "$status, {$attributes['scenario']}" : "$status";
|
|
-
|
|
|
|
- $content = $this->getResponseContents($filePath, $json);
|
|
|
|
|
|
+ $content = ResponseFileTools::getResponseContents($filePath, $json);
|
|
|
|
|
|
return [
|
|
return [
|
|
'content' => $content,
|
|
'content' => $content,
|
|
@@ -50,28 +50,4 @@ class UseResponseFileTag extends Strategy
|
|
|
|
|
|
return $responses;
|
|
return $responses;
|
|
}
|
|
}
|
|
-
|
|
|
|
- protected function getResponseContents($filePath, ?string $json): string
|
|
|
|
- {
|
|
|
|
- $content = $this->getFileContents($filePath);
|
|
|
|
- if ($json) {
|
|
|
|
- $json = str_replace("'", '"', $json);
|
|
|
|
- $content = json_encode(array_merge(json_decode($content, true), json_decode($json, true)));
|
|
|
|
- }
|
|
|
|
- return $content;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- protected function getFileContents($filePath): string
|
|
|
|
- {
|
|
|
|
- if (!file_exists($filePath)) {
|
|
|
|
- // Try Laravel storage folder
|
|
|
|
- if (!file_exists(storage_path($filePath))) {
|
|
|
|
- throw new \InvalidArgumentException("@responseFile {$filePath} does not exist");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- $filePath = storage_path($filePath);
|
|
|
|
- }
|
|
|
|
- return file_get_contents($filePath, true);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|