/**
  * 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');
 }
Example #2
0
 /**
  * @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');
 }
Example #5
0
 /**
  * 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;
     }
 }
Example #8
0
 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')]);
 }
Example #10
0
 /**
  * 根据消息的类型,回复不同内容
  * @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;
     }
 }
Example #11
0
 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';
 }
Example #12
0
 /**
  * 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);
 }
Example #13
0
 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);
 }
Example #15
0
 /**
  * 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());
     }
 }
Example #18
0
 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];
     }
 }
Example #21
0
 /**
  * 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();
     }
 }
Example #25
0
 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();
 }
Example #26
0
 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);
 }
Example #28
0
 /**
  * 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());
         }
     }
 }
Example #29
0
 /**
  * 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);
 }