PAC konvencija koju koriste glavni web preglednici, uključujući web engine, je koristiti modificiranu sintaksu regularnog izraza. Do sada je pacmanager koristio obične regularne izraze za podudaranje. Mijenjamo funkciju shExpMatch tako da koristite podudaranje koje je slično preglednicima.

Ova promjena znači da će RoomOS raditi s istim podudaranjima PAC datoteke kao i drugi web-klijenti u mreži. PAC datoteke posebno napisane za RoomOS možda će se morati ažurirati kako bi radile prema planu.

Procjena PAC datoteke provodi se na dva odvojena mjesta u softveru RoomOS:

  • Web pokretač za vlastiti promet.

  • Pacmanager za sve ostale HTTP promet: HttpFeedback, Webex dodjela resursa, signalizacija poziva itd.

PAC datoteka može koristiti ovu funkciju: shExpMatch (niz, uzorak)

Vraća se istinito ako niz odgovara uzorku, inače false.

Glavne razlike između dvije konvencije navedene su u nastavku, pri čemu "REGEX" znači tradicionalni regularni izrazi, a "BROWSER" znači konvencija web preglednika.

Znak točke, „.”

  • REGEX: . odgovara jednom znaku, koji se može ponoviti s kvantifikatorom

  • PREGLEDNIK: . odgovara samo doslovnom znaku točke

Zvijezda, „*”:

  • REGEX: * je nula ili više kvantifikatora nakon stavke, ali ne odgovara ništa sam po sebi

  • PREGLEDNIK: * odgovara nula ili više znakova

Upitnik, "?":

  • REGEX: ? je nula ili jedan kvantifikator nakon stavke, ili može modificirati * kvantifikator kako bi bio negreedy, ali ne odgovara ništa sam po sebi

  • PREGLEDNIK: ? odgovara jednom znaku

Mora li cijeli izraz odgovarati:

  • Regularni izraz: Bez upotrebe vodećeg ^ i sljedećeg $, UZORAK ne mora odgovarati cijelom NIZU: Dovoljno je da NIZ sadrži podniz koji se podudara.

  • preglednik: Uvijek zahtijevaj da se NIZ točno podudara prema UZORKU

Primjerima

Želimo uskladiti sve nazive glavnih računala pod "provider.domain", ali ne i "otherprovider.domain", "provider.domain.tld" ili "providersdomain":

Regularni izraz:

 shExpMatch(url, „^.*\\.provider\\.domain$”) 

preglednik:

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

Želimo uskladiti "proxy1.domain", "proxy2.domain" i tako dalje, ali ne i "proxytest.domain":

Regularni izraz:

 shExpMatch(url, „^proxy.\\.domain$“) 

preglednik:

 shExpMatch(url, "proxy?.domena") 

Ostali resursi

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