Konvencija PAC koju upotrebljavaju glavni web-preglednici, uključujući web-modul, predstavlja uporabu modificirane sintakse standardnog izraza. Do sada, upravitelj PAC-a upotrebljavao je obične standardne izraze za podudaranje. Mijenjamo funkciju shExpMatch za uporabu podudaranja koja sliči preglednicima.

Ova promjena znači da će RoomOS raditi s istim podudaranjima datoteka PAC-a kao i drugi web-klijenti u mreži. Datoteke PAC-a posebno napisana za softver RoomOS možda treba ažurirati kako bi se posao nastavio na namjeravani način.

Procjena datoteke PAC-a obavlja se na dva odvojena mjesta u softveru RoomOS:

  • Web-modul za vlastiti promet.

  • Upravitelj PAC-a za sav ostali HTTP promet: HttpFeedback, Webex dodjeljivanje, signalizacija poziva i tako dalje.

Datoteka PAC-a može upotrebljavati ovu funkciju: shExpMatch (niz, uzorak)

Vraća vrijednost „točno” ako se niz podudara s uzorkom, a u suprotnom vraća vrijednost „netočno”.

Glavne razlike između dviju konvencija navedene su u nastavku, pri čemu se „REGEX” odnosi na uobičajene standardne izraze, a „PREGLEDNIK” na konvenciju web-preglednika.

Znak točke, „.”

  • REGEX: . se podudara s jednim znakom, koji se može ponoviti s pomoću kvantifikatora

  • PREGLEDNIK: . se podudara samo s doslovnim znakom točke

Zvijezda, „*”:

  • REGEX: * je kvantifikator nula-ili-više nakon stavke, ali se ne podudara ni sa čim samostalno

  • PREGLEDNIK: * se podudara s nulom ili više znakova

Upitnik, „?”:

  • REGEX: ? je kvantifikator nula-ili-jedan nakon stavke ili može modificirati kvantifikator * da se podudara sa što manje teksta, ali se ne podudara ni sa ničim samostalno

  • PREGLEDNIK: ? se podudara s jednim znakom

Mora li se cijeli izraz podudarati:

  • REGEX: Bez uporabe početnog znaka ˆ i krajnjeg znaka $, UZORAK se ne mora podudarati s cijelim NIZOM: Dovoljno je da NIZ sadrži podniz koji se podudara.

  • PREGLEDNIK: uvijek zahtijeva da se NIZ podudari točno po UZORKU

Primjeri

Želimo podudariti sve nazive glavnih računala pod stavkom „provider.domain”, ali ne „otherprovider.domain”, „provider.domain.tld” ili „providersdomain”:

REGEX:

shExpMatch(url, "ˆ.*\\.provider\\.domain$")

PREGLEDNIK:

shExpMatch(url, "*.provider.domain")

Želimo podudariti „proxy1.domain”, „proxy2.domain” itd., ali ne i „proxytest.domain”:

REGEX:

shExpMatch(url, "ˆproxy.\\.domain$")

PREGLEDNIK:

shExpMatch(url, "proxy?.domain")

Ostali resursi

Dodatne pojedinosti o formatu datoteke PAC-a potražite na web-mjestu: https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file.