/data/www/wwwroot/941hm.com/vendor/topthink/think-image/src/Image.php
protected $im;
/** @var Gif */
protected $gif;
/**
* 图像信息,包括 width, height, type, mime, size
*
* @var array
*/
protected $info;
protected function __construct(\SplFileInfo $file)
{
//获取图像信息
$info = @getimagesize($file->getPathname());
//检测图像合法性
if (false === $info || (IMAGETYPE_GIF === $info[2] && empty($info['bits']))) {
throw new ImageException('Illegal image file');
}
//设置图像信息
$this->info = [
'width' => $info[0],
'height' => $info[1],
'type' => image_type_to_extension($info[2], false),
'mime' => $info['mime'],
];
//打开图像
if ('gif' == $this->info['type']) {
$this->gif = new Gif($file->getPathname());
$this->im = @imagecreatefromstring($this->gif->image());
} else {
$fun = "imagecreatefrom{$this->info['type']}";
$this->im = @$fun($file->getPathname());
}
if (empty($this->im)) {
Arguments
/data/www/wwwroot/941hm.com/vendor/topthink/think-image/src/Image.php
if (empty($this->im)) {
throw new ImageException('Failed to create image resources!');
}
}
/**
* 打开一个图片文件
* @param \SplFileInfo|string $file
* @return Image
*/
public static function open($file)
{
if (is_string($file)) {
$file = new \SplFileInfo($file);
}
if (!$file->isFile()) {
throw new ImageException('image file not exist');
}
return new self($file);
}
/**
* 保存图像
* @param string $pathname 图像保存路径名称
* @param null|string $type 图像类型
* @param int $quality 图像质量
* @param bool $interlace 是否对JPEG类型图像设置隔行扫描
* @return $this
*/
public function save($pathname, $type = null, $quality = 80, $interlace = true)
{
//自动获取图像类型
if (is_null($type)) {
$type = $this->info['type'];
} else {
$type = strtolower($type);
}
//保存图像
if ('jpeg' == $type || 'jpg' == $type) {
Arguments
SplFileInfo {#4297
path: "/data/www/wwwroot/941hm.com/storage/app/public/images/weixin_img/logo"
filename: "logo_240.png"
basename: "logo_240.png"
pathname: "/data/www/wwwroot/941hm.com/storage/app/public/images/weixin_img/logo/logo_240.png"
extension: "png"
realPath: "/data/www/wwwroot/941hm.com/storage/app/public/images/weixin_img/logo/logo_240.png"
aTime: 2024-04-18 23:42:56
mTime: 2024-04-18 23:42:56
cTime: 2024-04-18 23:42:56
inode: 4331202
size: 0
perms: 0100755
owner: 1000
group: 1000
type: "file"
writable: true
readable: true
executable: true
file: true
dir: false
link: false
}
/data/www/wwwroot/941hm.com/app/Services/Goods/GoodsService.php
file_put_contents($avatar_open, $logo_picture);
}
} else {
// 本站图片 带http 或 不带http
if (strtolower(substr($logo_picture, 0, 4)) == 'http') {
$picture = str_replace(storage_url('/'), '', $logo_picture);
$picture = BaseRepository::getExplode($picture, '?');
$logo_picture = $picture[0] ?? '';
}
// 默认图片
if (stripos($logo_picture, 'no_image') !== false) {
$avatar_open = $logo_picture;
} else {
$avatar_open = storage_public($logo_picture);
}
}
if (file_exists($avatar_open)) {
Image::open($avatar_open)->thumb(36, 36, Image::THUMB_FILLED)->save($logo);
}
}
$linkExists = $this->dscRepository->remoteLinkExists($logo);
if (!$linkExists) {
$logo = null;
}
// 生成二维码
QRCode::png($url, $out_img, $logo);
}
$image_name = 'images/weixin_img/' . basename($out_img);
$link_image_name = $this->dscRepository->getImagePath($image_name);
if (config('shop.open_oss') == 1 && !$this->dscRepository->remoteLinkExists($link_image_name)) {
// 同步镜像上传到OSS
$this->dscRepository->getOssAddFile([$image_name]);
}
Arguments
SplFileInfo {#4297
path: "/data/www/wwwroot/941hm.com/storage/app/public/images/weixin_img/logo"
filename: "logo_240.png"
basename: "logo_240.png"
pathname: "/data/www/wwwroot/941hm.com/storage/app/public/images/weixin_img/logo/logo_240.png"
extension: "png"
realPath: "/data/www/wwwroot/941hm.com/storage/app/public/images/weixin_img/logo/logo_240.png"
aTime: 2024-04-18 23:42:56
mTime: 2024-04-18 23:42:56
cTime: 2024-04-18 23:42:56
inode: 4331202
size: 0
perms: 0100755
owner: 1000
group: 1000
type: "file"
writable: true
readable: true
executable: true
file: true
dir: false
link: false
}
/data/www/wwwroot/941hm.com/app/Modules/Web/Controllers/GoodsController.php
$linked_goods = $this->goodsService->getLinkedGoods($goods_id, $warehouse_id, $area_id, $area_city);
$goods['goods_style_name'] = $this->goodsCommonService->addStyle($goods['goods_name'], $goods['goods_name_style']);
//商品标签 liu
if ($goods['goods_tag']) {
$goods['goods_tag'] = BaseRepository::getExplode($goods['goods_tag'], ',');
}
/**
* 店铺二维码
*/
if ($goods['shopinfo']['ru_id'] > 0) {
$shop_qrcode = $this->goodsService->getShopQrcode($goods['shopinfo']['ru_id']);
$this->smarty->assign('shop_qrcode', $shop_qrcode);
}
// 商品二维码
if (config('shop.two_code') == 1) {
$goods_qrcode = $this->goodsService->getGoodsQrcode($goods);
$this->smarty->assign('weixin_img_url', $goods_qrcode['url']);
$this->smarty->assign('weixin_img_text', trim(config('shop.two_code_mouse')));
$this->smarty->assign('two_code', config('shop.two_code'));
}
/*获取可用门店数量 by kong 20160721*/
$goods['store_count'] = 0;
$store_goods = OfflineStore::where('is_confirm', 1);
$store_goods = $store_goods->whereHasIn('getStoreGoods', function ($query) use ($goods_id) {
$query->where('goods_id', $goods_id);
});
$store_goods = $store_goods->count();
$store_products = StoreProducts::where('goods_id', $goods_id);
$store_products = $store_products->whereHasIn('getOfflineStore', function ($query) {
$query->where('is_confirm', 1);
});
$store_products = $store_products->count();
Arguments
array:143 [
"goods_id" => 240
"cat_id" => 327
"user_cat" => 0
"user_id" => 319599
"goods_sn" => "DP000240"
"bar_code" => ""
"goods_name" => "小叶紫檀|白菜(百财)摆件"
"goods_name_style" => "+"
"click_count" => 2139
"brand_id" => 2
"provider_name" => ""
"goods_number" => 1000
"goods_weight" => "0.000千克"
"default_shipping" => 0
"market_price" => "11856.00"
"cost_price" => "9000.00"
"shop_price" => 9880.0
"promote_price" => 0
"promote_start_date" => 0
"promote_end_date" => 0
"warn_number" => 1
"keywords" => ""
"goods_brief" => """
你不得不承认它的工符合你胃口,\r\n
你也无法抗拒它细腻多金星的材质,\r\n
更无法阻止它招财转运
"""
"goods_desc" => "<p><img src="https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504366943.jpg"/></p><p><img src="https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504367797.jpg"/></p><p><img src="https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504368241.jpg"/></p><p><img src="https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504369918.jpg"/></p><p><img src="https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504370115.jpg"/></p><p><img src="https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504371109.jpg"/></p><p><img src="https://1.s.941hm.com/uploads/image/2021/01/06/2e5a45e44380cebb2a210d9bb8b30125.png" title="/uploads/image/2021/01/06/2e5a45e44380cebb2a210d9bb8b30125.png" alt="图层 1.png"/></p><p><img src="https://1.s.941hm.com/uploads/image/2021/01/06/af5c9f09d318fcf20f4fb6822b76e995.png" title="/uploads/image/2021/01/06/af5c9f09d318fcf20f4fb6822b76e995.png" alt="图层 1.png"/></p>"
"desc_mobile" => null
"goods_thumb" => "https://1.s.941hm.com/data/gallery_album/261/thumb_img/261_thumb_G_1592504245671.jpg"
"goods_img" => "https://1.s.941hm.com/data/gallery_album/261/images/261_P_1592504245967.jpg"
"original_img" => "https://1.s.941hm.com/data/gallery_album/261/original_img/261_P_1592504245565.jpg"
"is_real" => 1
"extension_code" => ""
"is_on_sale" => 1
"is_alone_sale" => 1
"is_shipping" => 0
"integral" => 0.0
"add_time" => "2020-06-19 10:23:05"
"sort_order" => 100
"is_delete" => 0
"is_best" => 1
"is_new" => 0
"is_hot" => 0
"is_promote" => 0
"is_volume" => 0
"is_fullcut" => 0
"bonus_type_id" => "0"
"last_update" => 1609882435
"goods_type" => 8
"seller_note" => ""
"give_integral" => 0
"rank_integral" => 0
"suppliers_id" => 0
"is_check" => 0
"store_hot" => 0
"store_new" => 0
"store_best" => 0
"group_number" => 0
"is_xiangou" => 0
"xiangou_start_date" => 0
"xiangou_end_date" => 0
"xiangou_num" => 0
"review_status" => 3
"review_content" => ""
"goods_shipai" => ""
"comments_number" => 8
"sales_volume" => 972
"comment_num" => 0
"model_price" => 0
"model_inventory" => 0
"model_attr" => 0
"largest_amount" => "0.00"
"pinyin_keyword" => "xiaoyezitanbaicaibaicaibaijian"
"goods_product_tag" => null
"goods_tag" => null
"stages" => false
"stages_rate" => "0.00"
"freight" => 1
"shipping_fee" => "0.00"
"tid" => 0
"goods_unit" => "个"
"goods_cause" => "0"
"dis_commission" => "0.00"
"is_distribution" => 0
"commission_rate" => "0"
"from_seller" => 0
"user_brand" => 0
"product_table" => "products"
"product_id" => 0
"product_price" => "0.00"
"product_promote_price" => "0.00"
"goods_video" => ""
"is_show" => 1
"cloud_id" => 0
"cloud_goodsname" => ""
"is_minimum" => 0
"minimum_start_date" => 0
"minimum_end_date" => 0
"minimum" => 0
"area_link" => 0
"free_rate" => 0
"membership_card_id" => 0
"is_discount" => 0
"weights" => 138
"get_member_price" => []
"get_warehouse_goods" => []
"get_warehouse_area_goods" => []
"get_goods_category" => array:34 [
"cat_id" => 327
"cat_name" => "摆件/挂件"
"keywords" => ""
"cat_desc" => ""
"parent_id" => 341
"sort_order" => 4
"template_file" => ""
"measure_unit" => ""
"show_in_nav" => 0
"style" => ""
"is_show" => 1
"grade" => 0
"filter_attr" => ""
"is_top_style" => 0
"top_style_tpl" => "0"
"style_icon" => "other"
"cat_icon" => ""
"touch_catads" => ""
"is_top_show" => 0
"category_links" => ""
"category_topic" => ""
"pinyin_keyword" => "baijian/guajian"
"cat_alias_name" => ""
"commission_rate" => 0
"give_integral_multiple" => 1
"touch_icon" => "data/touch_icon/16194760275224.png"
"cate_title" => ""
"cate_keywords" => ""
"cate_description" => ""
"rate" => "0.00"
"touch_catads_url" => ""
"app_touch_catads_url" => ""
"wxapp_touch_catads_url" => ""
"url" => "https://www.941hm.com/category.php?id=327"
]
"get_brand" => array:15 [
"brand_id" => 2
"brand_name" => "让梨"
"brand_letter" => ""
"brand_first_char" => "R"
"brand_logo" => "1589477419564269436.jpg"
"index_img" => "1589477419481458839.jpg"
"brand_bg" => ""
"brand_desc" => ""
"site_url" => ""
"sort_order" => 41
"is_show" => 0
"is_delete" => 0
"audit_status" => 1
"add_time" => ""
"name_pinyin" => "Rang Li"
]
"brand_name" => "让梨"
"brand_url" => "https://www.941hm.com/brand-2.html"
"brand" => array:16 [
"brand_id" => 2
"brand_name" => "让梨"
"brand_letter" => ""
"brand_first_char" => "R"
"brand_logo" => "https://1.s.941hm.com/data/brandlogo/1589477419564269436.jpg"
"index_img" => "1589477419481458839.jpg"
"brand_bg" => ""
"brand_desc" => ""
"site_url" => ""
"sort_order" => 41
"is_show" => 0
"is_delete" => 0
"audit_status" => 1
"add_time" => ""
"name_pinyin" => "Rang Li"
"url" => "https://www.941hm.com/brand-2.html"
]
"goods_brand_url" => "https://www.941hm.com/brand-2.html"
"cat_measure_unit" => ""
"shop_price_original" => "9880.00"
"watermark_img" => "watermark_best"
"promote_price_org" => 0
"use_give_integral" => 9880
"grade_name" => "普通商家"
"grade_img" => "https://1.s.941hm.com/data/seller_grade/1490317342721835143.png"
"grade_introduce" => "拥有基础权限,实名认证店铺即视为普通商家"
"gmt_end_time" => 0
"promote_end_time" => 0
"goods_video_path" => ""
"marketPrice" => "11856.00"
"shop_price_formated" => "9880.00"
"goods_price" => "9880.00"
"format_promote_price" => 0
"goodsweight" => "0.000"
"isHas_attr" => 1
"country_name" => ""
"country_icon" => ""
"cross_warehouse_name" => ""
"shop_information" => array:101 [
"id" => 108
"ru_id" => 319599
"shop_name" => "东之赋"
"shop_title" => "东之赋"
"shop_keyword" => "东之赋"
"country" => 1
"province" => 330000
"city" => 330700
"district" => 330783
"shop_address" => "人民北路10号"
"seller_email" => ""
"kf_qq" => ""
"kf_ww" => ""
"meiqia" => ""
"kf_type" => 0
"kf_tel" => ""
"site_head" => ""
"mobile" => "15605896963"
"shop_logo" => ""
"logo_thumb" => "images/seller_imgs/seller_logo/logo_thumb/1693327623808029704.jpg"
"street_thumb" => "data/store_street/street_thumb/1693327623515254933.jpg"
"brand_thumb" => "data/store_street/brand_thumb/1693327623299111092.jpg"
"notice" => ""
"street_desc" => ""
"shop_header" => null
"shop_color" => ""
"shop_style" => 0
"shop_close" => 1
"apply" => 0
"is_street" => 1
"remark" => ""
"seller_theme" => ""
"win_goods_type" => 1
"store_style" => ""
"check_sellername" => 1
"shopname_audit" => 1
"shipping_id" => 9
"shipping_date" => ""
"longitude" => ""
"tengxun_key" => ""
"latitude" => ""
"kf_appkey" => 0
"kf_touid" => ""
"kf_logo" => "http://"
"kf_welcome_msg" => ""
"kf_secretkey" => "0"
"user_menu" => null
"kf_im_switch" => 1
"seller_money" => "0.00"
"frozen_money" => "0.00"
"credit_money" => "0.00"
"seller_templates" => "backup_tpl_1"
"seller_templates_time" => 0
"templates_mode" => 1
"js_appkey" => ""
"js_appsecret" => ""
"print_type" => 0
"kdniao_printer" => ""
"business_practice" => 0
"review_status" => 3
"review_content" => ""
"shop_desc" => ""
"shop_can_comment" => 1
"zipcode" => ""
"service_url" => ""
"switch_config" => 0
"is_open_nav" => 0
"give_percentage_points" => 100
"parent_id" => 0
"user_id" => 319599
"self_run" => 1
"shop_id" => 119
"region_id" => 0
"shoprz_type" => 3
"sub_shoprz_type" => 0
"shop_expire_date_start" => ""
"shop_expire_date_end" => ""
"shop_permanent" => 0
"authorize_file" => ""
"shop_hypermarket_file" => ""
"shop_category_main" => 291
"user_shop_main_category" => "337:296,297,298,299,300,301,302,303,304-338:305,306,307,308,309,310,311,312-339:313,314,315,316,317-340:318,319,320,321,322,323-341:324,325,326,327,328,329,330,331,332,335"
"shoprz_brand_name" => "东之赋"
"shop_class_key_words" => ""
"shop_name_suffix" => "专营店"
"rz_shop_name" => "东之赋"
"hope_login_name" => "东之赋"
"merchants_message" => ""
"allow_number" => 0
"steps_audit" => 1
"merchants_audit" => 1
"review_goods" => 0
"sort_order" => 12
"store_score" => 5
"is_im" => 1
"add_time" => 1619053542
"update_time" => 0
"collect_count" => 2
"country_name" => ""
"country_icon" => ""
"cross_warehouse_name" => ""
]
"rz_shop_name" => "东之赋"
"store_url" => "https://www.941hm.com/merchants_store-319599.html"
"shopinfo" => array:101 [
"id" => 108
"ru_id" => 319599
"shop_name" => "东之赋"
"shop_title" => "东之赋"
"shop_keyword" => "东之赋"
"country" => 1
"province" => 330000
"city" => 330700
"district" => 330783
"shop_address" => "人民北路10号"
"seller_email" => ""
"kf_qq" => ""
"kf_ww" => ""
"meiqia" => ""
"kf_type" => 0
"kf_tel" => ""
"site_head" => ""
"mobile" => "15605896963"
"shop_logo" => ""
"logo_thumb" => "images/seller_imgs/seller_logo/logo_thumb/1693327623808029704.jpg"
"street_thumb" => "data/store_street/street_thumb/1693327623515254933.jpg"
"brand_thumb" => "https://1.s.941hm.com/data/store_street/brand_thumb/1693327623299111092.jpg"
"notice" => ""
"street_desc" => ""
"shop_header" => null
"shop_color" => ""
"shop_style" => 0
"shop_close" => 1
"apply" => 0
"is_street" => 1
"remark" => ""
"seller_theme" => ""
"win_goods_type" => 1
"store_style" => ""
"check_sellername" => 1
"shopname_audit" => 1
"shipping_id" => 9
"shipping_date" => ""
"longitude" => ""
"tengxun_key" => ""
"latitude" => ""
"kf_appkey" => 0
"kf_touid" => ""
"kf_logo" => "http://"
"kf_welcome_msg" => ""
"kf_secretkey" => "0"
"user_menu" => null
"kf_im_switch" => 1
"seller_money" => "0.00"
"frozen_money" => "0.00"
"credit_money" => "0.00"
"seller_templates" => "backup_tpl_1"
"seller_templates_time" => 0
"templates_mode" => 1
"js_appkey" => ""
"js_appsecret" => ""
"print_type" => 0
"kdniao_printer" => ""
"business_practice" => 0
"review_status" => 3
"review_content" => ""
"shop_desc" => ""
"shop_can_comment" => 1
"zipcode" => ""
"service_url" => ""
"switch_config" => 0
"is_open_nav" => 0
"give_percentage_points" => 100
"parent_id" => 0
"user_id" => 319599
"self_run" => 1
"shop_id" => 119
"region_id" => 0
"shoprz_type" => 3
"sub_shoprz_type" => 0
"shop_expire_date_start" => ""
"shop_expire_date_end" => ""
"shop_permanent" => 0
"authorize_file" => ""
"shop_hypermarket_file" => ""
"shop_category_main" => 291
"user_shop_main_category" => "337:296,297,298,299,300,301,302,303,304-338:305,306,307,308,309,310,311,312-339:313,314,315,316,317-340:318,319,320,321,322,323-341:324,325,326,327,328,329,330,331,332,335"
"shoprz_brand_name" => "东之赋"
"shop_class_key_words" => ""
"shop_name_suffix" => "专营店"
"rz_shop_name" => "东之赋"
"hope_login_name" => "东之赋"
"merchants_message" => ""
"allow_number" => 0
"steps_audit" => 1
"merchants_audit" => 1
"review_goods" => 0
"sort_order" => 12
"store_score" => 5
"is_im" => 1
"add_time" => 1619053542
"update_time" => 0
"collect_count" => 2
"country_name" => ""
"country_icon" => ""
"cross_warehouse_name" => ""
]
"goods_url" => "https://www.941hm.com/goods-240.html"
"consumption" => []
"suppliers_name" => ""
"end_time" => ""
"goods_label" => []
"goods_label_suspension" => []
"goods_services_label" => array:1 [
0 => array:4 [
"label_explain" => ""
"label_name" => "不支持7天无理由退货"
"formated_label_image" => "https://1.s.941hm.com/images/service_icon_1.png"
"sort" => 50
]
]
"goods_extends" => array:20 [
"extend_id" => 240
"goods_id" => 240
"is_reality" => 1
"is_return" => 0
"is_fast" => 0
"width" => ""
"height" => ""
"depth" => ""
"origincountry" => ""
"originplace" => ""
"assemblycountry" => ""
"barcodetype" => ""
"catena" => ""
"isbasicunit" => "0"
"packagetype" => ""
"grossweight" => ""
"netweight" => ""
"netcontent" => ""
"licensenum" => ""
"healthpermitnum" => ""
]
"goods_style_name" => "小叶紫檀|白菜(百财)摆件"
]
/data/www/wwwroot/941hm.com/app/Http/Controllers/Controller.php
protected $pager = [];
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return Response
*/
public function callAction($method, $parameters)
{
if (method_exists($this, 'initialize')) {
$response = call_user_func([$this, 'initialize']);
if (!is_null($response)) {
return $response;
}
}
return call_user_func_array([$this, $method], $parameters);
}
/**
* 获取当前模块名
*
* @return string
*/
protected function getCurrentModuleName()
{
return $this->getCurrentAction()['module'];
}
/**
* 获取当前控制器名
*
* @return string
*/
protected function getCurrentControllerName()
{
return $this->getCurrentAction()['controller'];
/data/www/wwwroot/941hm.com/app/Http/Controllers/Controller.php
protected $pager = [];
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return Response
*/
public function callAction($method, $parameters)
{
if (method_exists($this, 'initialize')) {
$response = call_user_func([$this, 'initialize']);
if (!is_null($response)) {
return $response;
}
}
return call_user_func_array([$this, $method], $parameters);
}
/**
* 获取当前模块名
*
* @return string
*/
protected function getCurrentModuleName()
{
return $this->getCurrentAction()['module'];
}
/**
* 获取当前控制器名
*
* @return string
*/
protected function getCurrentControllerName()
{
return $this->getCurrentAction()['controller'];
Arguments
array:2 [
0 => App\Modules\Web\Controllers\GoodsController {#4216}
1 => "index"
]
[]
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php
{
$this->container = $container;
}
/**
* Dispatch a request to a given controller and method.
*
* @param \Illuminate\Routing\Route $route
* @param mixed $controller
* @param string $method
* @return mixed
*/
public function dispatch(Route $route, $controller, $method)
{
$parameters = $this->resolveClassMethodDependencies(
$route->parametersWithoutNulls(), $controller, $method
);
if (method_exists($controller, 'callAction')) {
return $controller->callAction($method, $parameters);
}
return $controller->{$method}(...array_values($parameters));
}
/**
* Get the middleware for the controller instance.
*
* @param \Illuminate\Routing\Controller $controller
* @param string $method
* @return array
*/
public function getMiddleware($controller, $method)
{
if (! method_exists($controller, 'getMiddleware')) {
return [];
}
return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
return static::methodExcludedByOptions($method, $data['options']);
Arguments
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php
protected function runCallable()
{
$callable = $this->action['uses'];
return $callable(...array_values($this->resolveMethodDependencies(
$this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
)));
}
/**
* Run the route action and return the response.
*
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
*/
protected function runController()
{
return $this->controllerDispatcher()->dispatch(
$this, $this->getController(), $this->getControllerMethod()
);
}
/**
* Get the controller instance for the route.
*
* @return mixed
*/
public function getController()
{
if (! $this->controller) {
$class = $this->parseControllerCallback()[0];
$this->controller = $this->container->make(ltrim($class, '\\'));
}
return $this->controller;
}
/**
Arguments
Illuminate\Routing\Route {#2191}
App\Modules\Web\Controllers\GoodsController {#4216}
"index"
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php
*
* @throws \UnexpectedValueException
*/
protected function parseAction($action)
{
return RouteAction::parse($this->uri, $action);
}
/**
* Run the route action and return the response.
*
* @return mixed
*/
public function run()
{
$this->container = $this->container ?: new Container;
try {
if ($this->isControllerAction()) {
return $this->runController();
}
return $this->runCallable();
} catch (HttpResponseException $e) {
return $e->getResponse();
}
}
/**
* Checks whether the route's action is a controller.
*
* @return bool
*/
protected function isControllerAction()
{
return is_string($this->action['uses']);
}
/**
* Run the route action and return the response.
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php
*/
public function __construct(Registrar $router)
{
$this->router = $router;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->router->substituteBindings($route = $request->route());
$this->router->substituteImplicitBindings($route);
return $next($request);
}
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4133 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return tap($next($request), function ($response) use ($request) {
if ($this->shouldAddXsrfTokenCookie()) {
$this->addCookieToResponse($request, $response);
}
});
}
throw new TokenMismatchException('CSRF token mismatch.');
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4131 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// If the current session has an "errors" variable bound to it, we will share
// its value with all view instances so the views can easily access errors
// without having to bind. An empty bag is set when there aren't errors.
$this->view->share(
'errors', $request->session()->get('errors') ?: new ViewErrorBag
);
// Putting the errors in the view for every view allows the developer to just
// assume that some errors are always available, which is convenient since
// they don't have to continually run checks for the presence of errors.
return $next($request);
}
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4130 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (! $this->sessionConfigured()) {
return $next($request);
}
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
$response = $next($request);
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
$this->saveSession($request);
return $response;
}
/**
* Start the session for the given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Session\Session
*/
protected function startSession(Request $request)
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4129 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php
* Create a new CookieQueue instance.
*
* @param \Illuminate\Contracts\Cookie\QueueingFactory $cookies
* @return void
*/
public function __construct(CookieJar $cookies)
{
$this->cookies = $cookies;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4128 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
* Disable encryption for the given cookie name(s).
*
* @param string|array $name
* @return void
*/
public function disableFor($name)
{
$this->except = array_merge($this->except, (array) $name);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $cookie) {
if ($this->isDisabled($key)) {
continue;
}
try {
$request->cookies->set($key, $this->decryptCookie($key, $cookie));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4127 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/app/Http/Middleware/EnableCrossRequest.php
<?php
namespace App\Http\Middleware;
use Closure;
class EnableCrossRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
$origin = $request->server('HTTP_ORIGIN') ? $request->server('HTTP_ORIGIN') : '';
// 测试白名单 可加入这段 填写域名或IP
$host = parse_url($origin, PHP_URL_HOST);
$allow_domian = ltrim(config('session.domain'), '.');
if (stripos($host, $allow_domian)) {
if (!method_exists($response, 'header')) {
$response->headers->set('Access-Control-Allow-Origin', $origin);
$response->headers->set('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN');
$response->headers->set('Access-Control-Expose-Headers', 'Authorization, authenticated');
$response->headers->set('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS, DELETE');
$response->headers->set('Access-Control-Allow-Credentials', 'true');
} else {
$response->header('Access-Control-Allow-Origin', $origin);
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN');
$response->header('Access-Control-Expose-Headers', 'Authorization, authenticated');
$response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS, DELETE');
$response->header('Access-Control-Allow-Credentials', 'true');
}
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#4126 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
* Sort the given middleware by priority.
*
Arguments
Closure($request) {#4134 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Routing\Route $route
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Illuminate\Routing\Route {#2191}
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Illuminate\Routing\Route {#2191}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Response $response
* @return void
*/
public function terminate($request, $response)
{
$this->terminateMiddleware($request, $response);
$this->app->terminate();
}
/**
* Call the terminate method on any terminable middleware.
*
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/app/Http/Middleware/FilterWords.php
class FilterWords
{
/**
* Handle an incoming request.
*
* @param $request
* @param Closure $next
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Response|mixed
* @throws \Exception
*/
public function handle($request, Closure $next)
{
if ($this->routeFilter() === true) { // 过滤路由
return $next($request);
}
$filter_words_control = config('shop.filter_words_control', 0);
if ($filter_words_control == 0) { // 配置项 是否启用过滤词
return $next($request);
}
$wordChecked = app(WordsCheckedService::class);// 实例化
$filterWords = app(FilterWordsService::class);// 实例化
$param = $wordChecked->getParam($request); // 返回前后台参数
$filter = $wordChecked->wordsFilter($request); // 过滤
if ($filter['is_filter'] === true || !is_bool($filter['is_filter'])) { // 验证通过 警告也可通过 会记录日志
return $next($request);
} else {
if ($request->is('api/*')) { // api 通用返回格式
$log_id = session()->get('filterLogId');
$filterWords->updateLogs($log_id, 'api'); // 更新api过滤词日志
$time = TimeRepository::getGmTime();
return response()->json(['status' => 'failed', 'errors' => ['code' => 506, 'message' => lang('admin/filter_words.exists')], 'time' => $time])
->withHeaders([
'X-Client-Hash' => request()->header('X-Client-Hash')
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3214 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/app/Http/Middleware/CheckStatus.php
use HttpResponse;
/**
* Handle an incoming request.
*
* @param Request $request
* @param Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
if (!$request->is(ADMIN_PATH . '*', 'calendar.php*', 'ueditor*') && config('shop.shop_closed') == 1) {
if ($request->is('api/*')) {
return $this->failed(config('shop.close_comment'));
} else {
return response()->view('closed', ['close_comment' => config('shop.close_comment')]);
}
}
return $next($request);
}
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3215 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
namespace Illuminate\Foundation\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
class TransformsRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3216 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
namespace Illuminate\Foundation\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
class TransformsRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3236 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php
class ValidatePostSize
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Http\Exceptions\PostTooLargeException
*/
public function handle($request, Closure $next)
{
$max = $this->getPostMaxSize();
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException;
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
}
$metric = strtoupper(substr($postMaxSize, -1));
$postMaxSize = (int) $postMaxSize;
switch ($metric) {
case 'K':
return $postMaxSize * 1024;
case 'M':
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3237 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function handle($request, Closure $next)
{
if ($this->app->isDownForMaintenance()) {
$data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
return $next($request);
}
if ($this->inExceptArray($request)) {
return $next($request);
}
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
/**
* Determine if the request has a URI that should be accessible in maintenance mode.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function inExceptArray($request)
{
foreach ($this->except as $except) {
if ($except !== '/') {
$except = trim($except, '/');
}
if ($request->fullUrlIs($except) || $request->is($except)) {
return true;
}
}
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3238 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/fideloper/proxy/src/TrustProxies.php
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses(Request $request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// Trust any IP address that calls us
// `**` for backwards compatibility, but is deprecated
if ($trustedIps === '*' || $trustedIps === '**') {
return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
}
// Support IPs addresses separated by comma
$trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#3239 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
Arguments
Closure($request) {#44 …4}
/data/www/wwwroot/941hm.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Exception $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
} catch (Throwable $e) {
$this->reportException($e = new FatalThrowableError($e));
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data/www/wwwroot/941hm.com/public/index.php
*/
$app = require_once __DIR__ . '/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
Arguments
Illuminate\Http\Request {#43
#json: null
#convertedFiles: []
#userResolver: Closure($guard = null) {#3260 …4}
#routeResolver: Closure() {#3264 …4}
+attributes: Symfony\Component\HttpFoundation\ParameterBag {#45}
+request: Symfony\Component\HttpFoundation\ParameterBag {#51}
+query: Symfony\Component\HttpFoundation\ParameterBag {#51}
+server: Symfony\Component\HttpFoundation\ServerBag {#47}
+files: Symfony\Component\HttpFoundation\FileBag {#48}
+cookies: Symfony\Component\HttpFoundation\ParameterBag {#46}
+headers: Symfony\Component\HttpFoundation\HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/goods.php"
#requestUri: "/goods.php?id=240"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Illuminate\Session\Store {#4231}
#locale: null
#defaultLocale: "en"
-preferredFormat: null
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}