Пример #1
0
 /**
  * @param SessionInterface $session
  * @param Request $request
  */
 private function preRequestHandle(SessionInterface $session, Request $request)
 {
     $id = $request->cookie($this->key);
     $key = 'session:' . $id;
     if (!Str::equals($key, $session->getId())) {
         $this->redis->del($key);
         return;
     }
     $value = $this->redis->get('session:' . $key);
     $content = Json::parse($value);
     if ($content['last_seen'] > $session->get('last_seen')) {
         foreach ($content as $key => $value) {
             if (!Str::startsWith($key, ['_', 'login_'])) {
                 $session->set($key, $value);
             }
         }
     }
 }
Пример #2
0
 public function search($index, $type, array $query)
 {
     $url = static::formUrl($index, $type) . '_search';
     $response = $this->client->request('POST', $url, ['json' => $query]);
     $hits = Json::parse($response->getBody())['hits'];
     return $hits['hits'];
 }
Пример #3
0
 public function testParse()
 {
     $data = ["query" => ["match" => ["address" => "mill"]]];
     $output = Json::parse('{"query": { "match": { "address": "mill" } }}', true);
     $this->assertSame($data, $output);
 }