/** * Store a newly created order in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if ($request->getContent() == null) { $response = [Config::get('enum.message') => Config::get('enum.nullRequest')]; return (new Response($response, 400))->header('Content-Type', 'json'); } if (!$this->authService->validJson($request->getContent())) { $response = [Config::get('enum.message') => Config::get('enum.invalidJson')]; return (new Response($response, 400))->header('Content-Type', 'json'); } $data = json_decode($request->getContent(), true); $validator = Validator::make($data, $this->orderService->orderRules()); if ($validator->fails()) { return (new Response($validator->messages(), 400))->header('Content-Type', 'json'); } foreach ($data['Products'] as $product) { $productValidator = Validator::make($product, $this->orderService->orderProductRules()); if ($productValidator->fails()) { return (new Response($productValidator->messages(), 400))->header('Content-Type', 'json'); } } $this->orderService->createOrder($data); $response = [Config::get('enum.message') => Config::get('enum.successOrder')]; return (new Response($response, 201))->header('Content-Type', 'json'); }
/** * @inheritdoc */ public function getIterator() { $content = $this->request->getContent(); $array = json_decode($content, true); if (is_null($array)) { throw new RequestException('Payload could not be parsed from json'); } return new \ArrayIterator($array); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if ($request->isJson()) { if (in_array($request->getMethod(), self::PARSED_METHODS)) { if (strlen($request->getContent()) != 0) { $request->merge(json_decode($request->getContent(), true)); } } } return $next($request); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $action = new \App\Action(); $action->fromJson($request->getContent()); $user_id = $action->user_id; if (!$user_id) { $user_id = $request->cookie('tr_guid'); if (!$user_id) { $user_id = $this->as->generateUserId(); } $action->user_id = $user_id; } $this->as->setRequestData($action, $request); $this->as->setDefaults($action); try { $action->validate(); } catch (\Exception $e) { return $this->error($e); } $referral_code = $this->as->generateReferralCode($action); $action->referral_code = $referral_code; try { $rv = $this->as->storeAction($action); } catch (\Exception $e) { return $this->error($e); } $response_data = ['user_id' => $user_id, 'referral_code' => $referral_code, 'is_new' => $rv['is_new'], 'counter' => $rv['counter'], 'action' => $rv['action']->toArray()]; $response_json = json_encode($response_data); return response($response_json)->header('Content-Type', 'application/json'); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { // //Log::info('$request=<' . $request . '>'); if ($request->isMethod('post')) { $bodyContent = $request->getContent(); //Log::info('$bodyContent=<' . $bodyContent . '>'); $bodyJson = json_decode($bodyContent); $keyPath = $this->keyRoot_ . $bodyJson->token . '/pubKey.pem'; $fp = fopen($keyPath, 'r'); $pubKeyMem = fread($fp, 8192); fclose($fp); $pubkeyid = openssl_pkey_get_public($pubKeyMem); $token = $bodyJson->token; $sign = $bodyJson->sign; $ok = openssl_verify($token, hex2bin($sign), $pubkeyid, "sha256"); openssl_free_key($pubkeyid); if ($ok == 1) { $profilePath = $this->keyRoot_ . $bodyJson->token . '/profile'; //Log::info('$bodyJson->payload=<' . json_encode($bodyJson->payload) . '>'); file_put_contents($profilePath, json_encode($bodyJson->payload)); return response()->json(['status' => 'success']); } else { return response()->json(['status' => 'failure']); } } }
public function validatePoll(Request $request, $eid) { $data = json_decode($request->getContent()); $pollArray = $data->polloptions; //json list of poll options if (!empty($pollArray)) { $poll = new Poll(); $poll->eid = $eid; $poll->polltype = 'date'; $saveflag = $poll->save(); if ($saveflag) { foreach ($pollArray as $poll_index) { $poll_options = new PollOption(); $poll_options->pid = $poll['pid']; $poll_options->option = $poll_index->option; try { PollOption::savePollOption($poll_options); } catch (Exception $e) { print '<script type="text/javascript">'; print 'alert( There have been issues adding options to your poll please check home page for details)'; print '</script>'; } } } else { print '<script type="text/javascript">'; print 'alert("Unable to save poll to database")'; print '</script>'; } } }
/** * Handle an incoming request. * * @param Request $request * @param Closure $next * * @return mixed */ public function handle($request, Closure $next) { $validationResult = Spec::define(['content-hash' => PrimitiveTypeConstraint::forType(ScalarTypes::SCALAR_STRING), 'authorization' => PrimitiveTypeConstraint::forType(ScalarTypes::SCALAR_STRING)], [], ['content-hash', 'authorization'])->check(array_map(function ($entry) { return $entry[0]; }, $request->headers->all())); if ($validationResult->failed()) { return ApiResponse::makeFromSpec($validationResult)->toResponse(); } $authorization = str_replace('Hash ', '', $request->headers->get('Authorization')); $content = $request->getContent(); try { $pair = $this->finder->byPublicId($authorization, KeyPairTypes::TYPE_HMAC); $hasher = new HmacHasher(); $verificationResult = $hasher->verify($request->headers->get('Content-Hash'), $content . Carbon::now()->format($this->format), $pair->getSecretKey()); if ($verificationResult) { $request->attributes->set(static::ATTRIBUTE_KEYPAIR, $pair); return $next($request); } return ApiResponse::create([], ApiResponse::STATUS_INVALID, ['HMAC content hash does not match the expected hash.'])->toResponse(); } catch (ModelNotFoundException $ex) { if ($ex->getModel() === KeyPair::class) { return ApiResponse::create([], ApiResponse::STATUS_INVALID, ['Unable to locate public ID. Check your credentials'])->toResponse(); } throw $ex; } }
public function jsonadd(Request $request) { $data = json_decode($request->getContent(), true); foreach ($data as $d) { $apt = new AirportsAPI(); $depicao = Airport::where('icao', $d['depicao'])->get(); $arricao = Airport::where('icao', $d['arricao'])->get(); if ($depicao->isEmpty()) { $apt->addFromDB($d['depicao']); } if ($arricao->isEmpty()) { $apt->addFromDB($d['arricao']); } $entry = new Schedule(); $entry->code = $d['code']; $entry->flightnum = $d['flightnum']; $entry->depicao = $d['depicao']; $entry->arricao = $d['arricao']; $entry->route = $d['route']; $entry->aircraft = $d['aircraft']; $entry->type = $d['type']; $entry->daysofweek = $d['daysofweek']; $entry->enabled = $d['enabled']; $entry->save(); } }
/** * @param Request $request * @param $processor * @param string $protocol * @return Response */ public static function make($request, $processor, $protocol) { $readTransport = new TMemoryBuffer($request->getContent()); $writeTransport = new TMemoryBuffer(); switch ($protocol) { case 'json': $readProtocol = new TJSONProtocol($readTransport); $writeProtocol = new TJSONProtocol($writeTransport); break; case 'binary': $readProtocol = new TBinaryProtocol($readTransport); $writeProtocol = new TBinaryProtocol($writeTransport); break; case 'compact': $readProtocol = new TCompactProtocol($readTransport); $writeProtocol = new TCompactProtocol($writeTransport); break; default: throw new UnexpectedValueException(); } $readTransport->open(); $writeTransport->open(); $processor->process($readProtocol, $writeProtocol); $readTransport->close(); $writeTransport->close(); $content = $writeTransport->getBuffer(); return new Response($content, 200, ['Content-Type' => 'application/x-thrift', 'Access-Control-Allow-Origin' => $request->header('origin')]); }
/** * 根据消息的类型,回复不同内容 * @param Request $request * @return null */ public function switchRespMsg(Request $request) { //获取POST数据包 $postStr = $request->getContent(); Log::info($postStr); if (!empty($postStr)) { libxml_disable_entity_loader(true); $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $msgType = $postObj->MsgType; $content = trim($postObj->Content); if ($msgType == "text") { return ResponseMsgService::responseTextMsg($fromUsername, $toUsername, $content); } if ($msgType == "event") { $event = $postObj->Event; Log::info("====event===" . $event); if ($event == "subscribe") { $respStr = "您好,我是郭世杰,欢迎关注我的微信个人公众号"; return ResponseMsgService::responseTextMsg($fromUsername, $toUsername, $respStr); } if ($event == "CLICK") { $eventKey = $postObj->EventKey; return $this->responseMenuMsg($fromUsername, $toUsername, $eventKey); } } return null; } else { Log::info("Post Xml data is null"); return null; } }
public function notify(Request $request) { \Log::debug('payment_notify', ['request' => $request]); $input = XML::parse($request->getContent()); if ($input['return_code'] == 'SUCCESS') { $order = Order::where('wx_out_trade_no', $input['out_trade_no'])->firstOrFail(); $address_id = $order->address_id; # 当前订单收货地址id if ($order->isPaid()) { return 'FAIL'; } $order->update(['wx_transaction_id' => $input['transaction_id'], 'cash_payment' => floatval($input['total_fee']) / 100.0]); $order->paid(); /* 发送消息提醒 */ $default_address = Address::where(['id' => $address_id])->first(); $phone = $default_address->phone; $msg = '尊敬的顾客您好!您的订单已经收到,易康商城将尽快为您安排发货,如有任何问题可以拨打客服电话400-1199-802进行咨询,感谢您的惠顾!'; \MessageSender::sendMessage($phone, $msg); // if ($phone = env('ORDER_ADMIN_PHONE')) { // \Log::error($phone); // \MessageSender::sendMessage($phone, $order->toOrderMessageString()); // } $result = \Wechat::paymentNotify(); return $result; } return 'FAIL'; }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (0 === strpos($request->headers->get('CONTENT_TYPE'), 'application/json') and Request::isMethod('post')) { $request->request = new ParameterBag((array) json_decode($request->getContent(), true)); } return $next($request); }
public function store(Request $request) { // grab credentials from the request $input_data = json_decode($request->getContent(), true); $arrayReturn = array(); try { $credentials = ['email' => $input_data['email'], 'password' => $input_data['password'], 'confirmed' => 1]; //$user_role = array_key_exists('role', $input_data) ? $input_data['role'] : 'user'; // attempt to verify the credentials and create a token for the user if (!($token = JWTAuth::attempt($credentials))) { return ResponseMessage::invalidCredentials(); } // Checks Roles $user = JWTAuth::setToken($token)->authenticate(); //$isQueryFromAdmin = $user->is('query') && $user_role == 'admin'; /*if (!$user->is($user_role) && !$isQueryFromAdmin) { return response()->json( ['error' => 'invalid_credentials'], 401 ); }*/ } catch (JWTException $e) { // something went wrong whilst attempting to encode the token return response()->json(['error' => 'could_not_create_token', 'message' => $e->getMessage()], 500); } // all good so return the token $arrayReturn = compact('token'); $arrayReturn["user"] = $this->usersRepo->parserResult($user)['data']; return response()->json($arrayReturn); }
/** * Validate the github payload and signature. * * If you're wondering why the md5, see the link below. * @see http://php.net/manual/en/function.hash-hmac.php#111435 * * @param \Illuminate\Http\Request $request * @return bool */ private function isValidRequest($request) { $signature = $request->server('HTTP_X_HUB_SIGNATURE'); $secret = env('WEBHOOK_SECRET'); list($algo, $expectedHash) = explode('=', $signature, 2); $payloadHash = hash_hmac($algo, $request->getContent(), $secret); return md5($expectedHash) === md5($payloadHash); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException * * @return mixed */ public function handle(Request $request, Closure $next) { // prevent body sizes of more than 1 MB if (mb_strlen($request->getContent(), '8bit') > 1048576) { throw new HttpException(413); } return $next($request); }
/** * Class constructor * @param Request $request * @throws ApplicationException */ public function __construct(Request $request) { $rawRequestContent = $request->getContent(); if (strlen($rawRequestContent) && null === json_decode($rawRequestContent)) { throw new ApplicationException(ApplicationException::REQUEST_JSON_INVALID); } $this->parametersBag = $request->json(); }
public function query(\Illuminate\Http\Request $request) { $content = json_decode($request->getContent(), true); try { return $this->productSearcher->getByQuery($content); } catch (\Exception $e) { return $this->handleException("400", $e->getMessage()); } }
public function postIndex(Request $request) { $osutoken = $request->header('osu-token'); //Is it a login request? if (!isset($osutoken)) { $content = explode("\n", $request->getContent()); $extraData = explode("|", $content[2]); return $this->loginFunction($content[0], $content[1], $extraData[0]); } $user = Cache::get($osutoken); Cache::add($osutoken, $user, 10); $body = $request->getContent(); $asciiarray = unpack('C*', $body); Log::info($asciiarray); Log::info(sprintf("PACKET: %s", implode(array_map("chr", $asciiarray)))); $output = $this->checkPacket($asciiarray, $user, $osutoken); return $output; }
/** * save annotations * @param Request $request * @return string */ public function save(Request $request) { $content = $request->getContent(); $annotation = $this->annotationService->save($content, $request->all()); if ($annotation) { return response()->json(['status' => 'success', "id" => $annotation->id]); } return response()->json(['status' => 'error']); }
/** * @param Request $request * * RPC handler * * @return array */ public function actionRpc(Request $request) { $options = json_decode($request->getContent()); switch ($options->method) { case 'artisan': list($status, $output) = $this->runCommand(implode(' ', $options->params)); return ['result' => $output]; } }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { if ($request->isMethod('post')) { $bodyContent = $request->getContent(); //Log::info($bodyContent); $bodyJson = json_decode($bodyContent); if (!isset($bodyJson->token)) { unset($_SESSION['account.rsa.login.status']); return response()->json(['status' => 'success']); } //Log::info('$bodyJson->token=<' . $bodyJson->token . '>'); $keyPath = $this->keyRoot_ . $bodyJson->token . '' . '/pubKey.pem'; //Log::info('$keyPath=' . $keyPath); $fp = fopen($keyPath, 'r'); $pubKeyMem = fread($fp, 8192); fclose($fp); $pubkeyid = openssl_pkey_get_public($pubKeyMem); //Log::info('$pubkeyid=' . $pubkeyid); try { $access = $bodyJson->auth->access; $sign = $bodyJson->auth->sign; $ok = openssl_verify($access, hex2bin($sign), $pubkeyid, "sha256"); openssl_free_key($pubkeyid); if ($ok == 1) { $_SESSION['account.rsa.login.status'] = 'success'; $profilePath = $this->keyRoot_ . $bodyJson->token . '' . '/profile'; if (file_exists($profilePath)) { $profileStr = file_get_contents($profilePath); $profileJson = json_decode($profileStr, true); $_SESSION['account.rsa.login.name'] = $profileJson['user']; Log::info('$profileJson->user=<' . $profileJson['user'] . '>'); return response()->json(['status' => 'success']); } else { $_SESSION['account.rsa.login.name'] = 'unknow'; Log::info('unknow'); return response()->json(['status' => 'success']); } } elseif ($ok == 0) { $_SESSION['account.rsa.login.status'] = 'failure'; Log::info('failure>'); return response()->json(['status' => 'failure']); } else { $_SESSION['account.rsa.login.status'] = 'failure'; Log::info('failure>'); return response()->json(['status' => 'failure']); } } catch (Exception $e) { $_SESSION['account.rsa.login.status'] = 'failure'; Log::info($e); return response()->json(['status' => 'failure']); } //Log::info($bodyJson->token); //Log::info($bodyJson->sign); } return response()->json(['status' => 'success']); }
public function removeProperty(Request $request, $id) { $result = $this->edge->findById($id); if (!$result) { throw new StoreResourceFailedException('Edge not found'); } $objectRequest = json_decode($request->getContent()); $result = $this->edge->removePropertiesById($id, $objectRequest->edge->properties); return response()->json(['data' => $result]); }
public function getViewBought(Request $request) { try { $objectRequest = json_decode($request->getContent()); $result = $this->recommendations->getWhoViewBought($objectRequest); return response()->json(['data' => $result]); } catch (\Exception $e) { throw new StoreResourceFailedException($e->getMessage()); } }
/** * Handle a Segment webhook. * * @param Request $request * * @return Response */ public function handle(Request $request) { $payload = (array) json_decode($request->getContent(), true); $method = 'handle' . ucwords($payload['type']); if (method_exists($this, $method)) { return $this->{$method}($payload); } else { return $this->missingMethod(); } }
public function postscore(Request $request) { $data = json_decode($request->getContent()); $obj = new Score(); $obj->user_id = Auth::user()->id; $obj->name = Auth::user()->name; $obj->email = Auth::user()->email; $obj->score = number_format($data->score, 2); $obj->save(); }
public function validateRequest(Request $request) { if ($request->header('Accept') != JsonApi::MIME_TYPE) { throw new \RuntimeException('Invalid Accept header.'); } if (!empty($request->getContent()) && $request->header('Content-Type') != JsonApi::MIME_TYPE) { throw new \RuntimeException('Invalid Content-Type header.'); } return true; }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if ($request->isMethod('POST') || $request->isMethod('PUT')) { json_decode($request->getContent()); if (json_last_error() != JSON_ERROR_NONE) { return response()->json("Request must be json", 400); } } return $next($request); }
/** * Receive normal user message and save them in database * * @param Request $request * @return Response */ public function postIndex(Request $request) { if ($request->isMethod('post')) { try { $attributes = json_decode(json_encode((array) simplexml_load_string($request->getContent(), 'SimpleXMLElement', LIBXML_NOCDATA)), true); return with(new GrandDispatcher())->dispatch(with(new MessageFactory())->create($attributes, $this->getKind($attributes)))->getResponse(); } catch (Exception $e) { Log::error('Failure at processing message: ' . $e->getMessage()); } } }
/** * Application deploy. * * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function deploy(Request $request) { list($algo, $hash) = explode('=', $request->header('X-Hub-Signature'), 2); if (!hash_equals($hash, hash_hmac($algo, $request->getContent(), config('services.github-webhook.secret')))) { \Log::notice('Github Webhook', ['auth' => 'failed', 'ip' => $request->ip()]); } else { \Log::info('Github Webhook', ['auth' => 'success', 'ip' => $request->ip()]); \Artisan::queue('deploy'); } return response()->json('', 200); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $secret = $request->projects->github_webhook_secret; if (isset($secret)) { $signature = 'sha1=' . hash_hmac('sha1', $request->getContent(), $secret); if ($signature !== $request->header('X-Hub-Signature')) { abort(401); } } return $next($request); }