add macros for responses

This commit is contained in:
printempw 2016-08-29 22:48:55 +08:00
parent 8196324f73
commit cfd289c0c8
3 changed files with 41 additions and 6 deletions

View File

@ -98,8 +98,7 @@ class TextureController extends BaseController
if (Storage::disk('textures')->has($t->hash)) {
Event::fire(new GetAvatarPreview($t, $size));
return response(Storage::disk('cache')->get("avatar/$tid"))
->header('Content-Type', 'image/png');
return \Response::png(Storage::disk('cache')->get("avatar/$tid"));
}
}
}
@ -108,7 +107,7 @@ class TextureController extends BaseController
imagepng($png);
imagedestroy($png);
return response('')->header('Content-Type', 'image/png');
return \Response::png();
}
public function avatarWithSize($size, $base64_email)
@ -125,8 +124,7 @@ class TextureController extends BaseController
$t->size = $size;
Event::fire(new GetSkinPreview($t));
return response(Storage::disk('cache')->get("preview/$tid"))
->header('Content-Type', 'image/png');
return \Response::png(Storage::disk('cache')->get("preview/$tid"));
}
}
@ -134,7 +132,7 @@ class TextureController extends BaseController
imagepng($png);
imagedestroy($png);
return response('')->header('Content-Type', 'image/png');
return \Response::png();
}
public function previewWithSize($size, $tid)

View File

@ -0,0 +1,36 @@
<?php
namespace App\Providers;
use Response;
use Illuminate\Support\ServiceProvider;
class ResponseMacroServiceProvider extends ServiceProvider
{
/**
* Perform post-registration booting of services.
*
* @param ResponseFactory $factory
* @return void
*/
public function boot()
{
Response::macro('png', function ($src = "", $status = 200, $header = []) {
return Response::stream(function() use ($src, $status) {
echo $src;
}, $status, array_merge([
'Content-type' => 'image/png',
], $header));
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}

View File

@ -164,6 +164,7 @@ return [
App\Providers\AppServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\ResponseMacroServiceProvider::class
],