function buildHeaders() {
const authToken = localStorage.getItem('token')
return { ...defaultHeaders, Authorization: authToken }
}
export function httpGet(url) { //экспортируете функцию для будущих вызовов
return fetch(url, { // я использую fetch, но для axios сделать, думаю вы сможете
headers: buildHeaders(), // те самые заголовки, которые нужны в каждом запросе
})
.then(checkStatus) // это уже не важно, у меня в коде просто далее идет еще несколько проверок общих
}
goto
и BLOB
вместо файлов допустим. public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
];
return $behaviors;
}
<?php
Class TDSRouting {
public $routing = [
[
'os' => 'android',
'url' => '/url/to/redirect'
],
[
'os' => 'android',
'browser' => 'chrome',
'country' => 'ru',
'type' => 'mobile',
'url' => '/url/to/redirect2'
]
];
public $default = '/url/default';
public function redirect($options = []){
$keys = array_keys($options);
foreach($this->routing as $route){
$diff = array_diff_assoc($options, $route);
if(count(array_intersect_key(array_flip($keys), $route)) === count($keys) && empty($diff)){
return $route['url'];
}
}
return $this->default;
}
}
$routing = new TDSRouting;
print_r($routing->redirect([
'os' => 'android',
'browser' => 'chrome',
'country' => 'ru',
'type' => 'mobile'
]));
$alt_url['country:type:device']["Беларусь:desktop:ios"] = "http://...";
if (!empty($alt_url['country:type:device']["$country:$type:$os"])) {
return $alt_url['country:type:device']["$country:$type:$os"];
}