| 16 | } |
| 17 | |
| 18 | func AddDNSDomainIs(vm *goja.Runtime) error { |
| 19 | return vm.GlobalObject().Set("dnsDomainIs", func(call goja.FunctionCall) goja.Value { |
| 20 | if len(call.Arguments) < 2 { |
| 21 | return vm.ToValue(false) |
| 22 | } |
| 23 | host := strings.ToLower(call.Argument(0).String()) |
| 24 | domain := strings.ToLower(call.Argument(1).String()) |
| 25 | if host == domain { |
| 26 | return vm.ToValue(true) |
| 27 | } |
| 28 | if !strings.HasPrefix(domain, ".") { |
| 29 | domain = "." + domain |
| 30 | } |
| 31 | return vm.ToValue(strings.HasSuffix(host, domain)) |
| 32 | }) |
| 33 | } |
| 34 | |
| 35 | func AddLocalHostOrDomainIs(vm *goja.Runtime) error { |
| 36 | return vm.GlobalObject().Set("localHostOrDomainIs", func(call goja.FunctionCall) goja.Value { |