tutu-ru/lib-host-alias-resolver

解析主机别名

1.0.1 2019-02-08 12:47 UTC

This package is auto-updated.

Last update: 2024-09-09 02:20:19 UTC


README

该库能做三件事情

  • 通过别名获取完整的URI地址(resolve)
  • 通过别名获取主机或资源地址(getHostByAlias)
  • 获取当前主域名下的子域名(getWithEnvDomain)

配置

配置节点

  • infrastrucrute.env.domain - 服务的主体域名
  • infrastructure.host_alias_resolver - 存储主机别名和资源地址的存储库,例如
    • rus.desktop.mainpage - 网站桌面俄语版本的首页
    • external.partnerApi - 合作伙伴API地址
    • internal.ourApi - 内部资源地址

初始化

/** @var \TutuRu\Config\ConfigInterface $configContainer */
$resolver = new HostAliasResolver($configContainer);

print $resolver->resolve('mainpage.desktop.rus/query?arg=1#hash');
print $resolver->getHostByAlias('services.partnerApi');

使用特点

别名需要按相反顺序设置

resolve

// rus.desktop.mainpage = main.host.com

print $resolver->resolve('mainpage.desktop.rus/query?arg=1#hash');
// выведет https://main.host.com/query?arg=1#hash
// https:// в ноде нет, resolve подставляет его сам 

getHostByAlias

// external.partnerApi = https://somerestapi.com

print $resolver->getHostByAlias('partnerApi.external');
// выведет https://somerestapi.com

如果没有找到别名节点,则返回同一别名的 getWithEnvDomain