Inclusion Engine Parameter Validation Validation

permitted := vector('a', 'b', 'c');

strict := vector('page', '^\d+$',
                'offset', '^\d+$',
                'q', '^[A-Za-z0-9 ]+$',
                'referrer', 'IRI',
                'url', '^https?://([^/]+\.)?openlinksw.com/'
                )
        

Various test-cases follow


URL=/inclusion-engine/paramvalidation.vsp. Expecting 1 1


URL=/inclusion-engine/paramvalidation.vsp?. Expecting 1 1


URL=/inclusion-engine/paramvalidation.vsp?a. Expecting 1 0


URL=/inclusion-engine/paramvalidation.vsp?a=1. Expecting 1 0


URL=/inclusion-engine/paramvalidation.vsp?a=apple&b=banana&c=coconut. Expecting 1 0


URL=/inclusion-engine/paramvalidation.vsp?page. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?page=1. Expecting 0 1


URL=/inclusion-engine/paramvalidation.vsp?page=zebra. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?q=This%20is%20a%20test%20string. Expecting 0 1


URL=/inclusion-engine/paramvalidation.vsp?referrer. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?referrer=. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?referrer=https://www.openlinksw.com/robots.txt. Expecting 0 1


URL=/inclusion-engine/paramvalidation.vsp?referrer=http://news.bbc.co.uk/. Expecting 0 1


URL=/inclusion-engine/paramvalidation.vsp?referrer=unicorn. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?url. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?url=. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?url=https://www.openlinksw.com/robots.txt. Expecting 0 1


URL=/inclusion-engine/paramvalidation.vsp?url=http://news.bbc.co.uk/. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?url=utonagan. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?a&b=2&c=coconut&page=1&offset=10. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?a&b=2&c=coconut&page=1&offset=elephant. Expecting 0 0


URL=/inclusion-engine/paramvalidation.vsp?q=This%20is%20a%20test%20string&referrer=http://localhost/&url=https://virtuoso.openlinksw.com/. Expecting 0 1


URL=/inclusion-engine/paramvalidation.vsp?a=1&b&fail=fail. Expecting total failure