author | ymh <ymh.work@gmail.com> |
Fri, 04 Mar 2016 19:18:28 +0100 | |
changeset 139 | 8d688175513a |
permissions | -rw-r--r-- |
139
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
namespace CorpusParole\Http\Controllers\Proxy; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
use Guzzle; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
use Illuminate\Http\Request; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
use CorpusParole\Http\Requests; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
use CorpusParole\Http\Controllers\Controller; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
class BnfController extends Controller |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
{ |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
const HEADERS_FORWARDED = [ "host", "user-agent", "accept", "accept-language", "accept-encoding", "connection" ]; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
private function proxyQuery($req, $url) { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
$headers = []; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
foreach (BnfController::HEADERS_FORWARDED as $h) { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
$headerValue = $req->header($h); |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
if($headerValue) { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
$headers[$h] = $headerValue; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
$complResp = Guzzle::get($url, ['query' => $req->all(), 'headers' => $headers]); |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
$resp = response((string)$complResp->getBody(), $complResp->getStatusCode()); |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
foreach ($complResp->getHeaders() as $name => $values) { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
if($name != 'Transfer-Encoding') { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
$resp->header($name, $values); |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
return $resp; |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
// proxy Auto completion query for bnf |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
public function proxyAutoCompletion(Request $req) { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
return $this->proxyQuery($req, config('corpusparole.bnf_completion_url')); |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
// proxy sparql query for bnf |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
public function proxySparql(Request $req) { |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
return $this->proxyQuery($req, config('corpusparole.bnf_query_url')); |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
} |
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
|
8d688175513a
add proxy for bnf completion and sparql request + upgrade kernel + route
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
} |