-
Notifications
You must be signed in to change notification settings - Fork 647
/
Copy pathUrlBuilder.php
34 lines (31 loc) · 1.3 KB
/
UrlBuilder.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
/**
* Copyright 2016 LINE Corporation
*
* LINE Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
namespace LINE\LINEBot\KitchenSink\EventHandler\MessageHandler\Util;
class UrlBuilder
{
public static function buildUrl(\Psr\Http\Message\RequestInterface $req, array $paths)
{
// NOTE: You should configure $baseUri according to your environment
// Perhaps, it is prefer to use $_SERVER['HTTP_HOST'], $_SERVER['HTTP_X_FORWARDED_HOST'] or etc
// $baseUri = "{$req->getUri()->getScheme()}://{$req->getUri()->getHost()}";
$baseUri = "{$req->getHeader('X-Forwarded-Scheme')[0]}://{$req->getHeader('X-Forwarded-Host')[0]}";
foreach ($paths as $path) {
$baseUri .= '/' . urlencode($path);
}
return $baseUri;
}
}