Pull to refresh

Comments 8

11.34 можно было использовать сокращённые массивы, но этот PR добавляет возможность задавать строку в качестве тела ответа или целое число для статус-кода.

В Ларе с этим есть проблемы. Статусом будет считаться число от 100 до 599 включительно. Всё остальное будет возвращено как тело ответа с кодом 200, а ещё 204 вернёт no content со статусом 204, а ‘204’ - вернёт текст «204» со статусом 200 😀

Обсуждения были в ветке с https://github.com/laravel/framework/pull/53663

Http::fake([
    'google.com' => 'Hello World', // no problem
    'github.com' => ['foo' => 'bar'], // no problem

    'bar.laravel.com' => '204', // it's a response body with status code 200

    'foo.laravel.com' => 99, // it's a response body with status code 200
    'foo.laravel.com' => 100, // it's a status code 100
    'foo.laravel.com' => 204, // it's a status code 204
    'foo.laravel.com' => 204.99, // it's a response body with status code 200
    'foo.laravel.com' => 599, // it's a status code 599
    'foo.laravel.com' => 600, // it's a response body with status code 200
]);

Ну так все логично же вроде

Разве? Далеко ходить не будем:

Http::fake([
    'local1' => 99,
    'local2' => 100,
    'local3' => "100",
    'local4' => 204,
    'local5' => 204.01,
]);

$response = Http::get('local1');
$response->status; // 200
$response->body(); // 99

$response = Http::get('local2');
$response->status; // 100
$response->body(); // ""

$response = Http::get('local3');
$response->status; // 200
$response->body(); // 100

$response = Http::get('local4');
$response->status; // 204
$response->body(); // No Content


$response = Http::get('local5');
$response->status; // 200
$response->body(); // 204.01

Логично? :)

Я так и не понял в чем претензия

Где можно - значение трактуется как хттп-код, где нельзя - как тело с кодом 200

В чем тут нелогичность-то?

Тут в ваших руках управлять этими шорткатами и если вы толкаете в значения херню, то и на выходе получаете херню, все очень просто

Я так и не понял в чем претензия

Если два живых примера не убедили, то на этом мои полномочия всё :)

если вы толкаете в значения херню, то и на выходе получаете херню

Всё так. И одно дело когда разработчик сам такое толкает, и совсем другое когда фреймворк к этому подталкивает.

совсем другое когда фреймворк к этому подталкивает.

вы как будто первый раз про лару слышите, ей богу)

если честно, вообще не убедили, я все так же уверен, что вы просто не поняли контракт и юзкейсов

Как скажете :)

Замените магические числа на константы вида Response::NO_CONTENT и все сразу станет предельно ясно

Sign up to leave a comment.

Articles