Computer Implemented Method, Computer System And Nontransitory Computer Readable Storage Medium For Matching URL With Web Site
A computer implemented method, a computer system or a nontransitory computer readable storage medium for matching a URL with one of a plurality of web sites. The method, system or medium may be configured for use with a device having one or more processors and a memory storing one or more programs for execution by the one or more processors. The one or more programs may include instructions for: capturing an HTTP request and a Web application context, resolving a match context for the HTTP request and the Web application context, resolving a set of top-level rules for evaluating the HTTP request and the Web application context, evaluating the match context against a first rule among the top-level rules, and invoking an action for modifying one or more of the HTTP request, the Web application context, and the match context.
1 . A computer implemented method for matching a URL with one of a plurality of web sites, the computer implemented method comprising:
on a device having one or more processors and a memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:
capturing an HTTP request and a Web application context,
resolving a match context for the HTTP request and the Web application context,
resolving a set of top-level rules for evaluating the HTTP request and the Web application context,
evaluating the match context against a first rule among the top-level rules, and
invoking an action for modifying one or more of the HTTP request, the Web application context, and the match context.
2 . The computer implemented method of claim 1 , the one or more programs further including instructions for:
evaluating the first rule against the match context, and advancing to a next rule if the first rule does not match,
determining whether an action supports context updates and updating the match context against an action attribute and value if the action supports context updates, and
determining whether the action supports child rules and advancing to a first rule in the child rule set if the action supports child rules.
3 . The computer implemented method of claim 1 , the one or more programs further including instructions for:
determining whether the action supports continuation, advancing to a next rule in a current set of rules or a next rule in a parent set of rules if the action supports continuation, and
ending HTTP request processing and returning control to a hosting runtime when the action does not support continuation.
4 . The computer implemented method of claim 1 , wherein the computer implemented method supports vanity URLs.
5 . The computer implemented method of claim 1 , wherein a core gateway of an identity management system comprises the one or more programs.
6 . The computer implemented method of claim 1 , the one or more programs further including instructions for:
iterating through a set of preconfigured rules and testing the HTTP request against each rule in turn, wherein each rule is defined by a match test and a match action.
7 . The computer implemented method of claim 6 , wherein the match test is a description of an attribute of the match context that should be tested against.
8 . The computer implemented method of claim 6 , wherein the match action is an operation to be invoked upon a successful match test.
9 . The computer implemented method of claim 6 , wherein the match test is defined by one of an evaluation kind that determines how the test should be evaluated, an attribute of the match context to test against, and an argument value to resolve the test against.
10 . The computer implemented method of claim 9 , wherein the evaluation kind is an equality test, wherein the attribute is a URL path and wherein the argument value is a comparison value.
11 . A computer system for matching a URL with one of a plurality of web sites, the computer system comprising:
one or more processors; and
memory to store:
one or more programs, the one or more programs comprising instructions for:
capturing an HTTP request and a Web application context,
resolving a match context for the HTTP request and the Web application context,
resolving a set of top-level rules for evaluating the HTTP request and the Web application context,
evaluating the match context against a first rule among the top-level rules, and
invoking an action for modifying one or more of the HTTP request, the Web application context, and the match context.
12 . The computer system of claim 11 , the one or more programs further including instructions for:
evaluating the first rule against the match context, and advancing to a next rule if the first rule does not match,
determining whether an action supports context updates and updating the match context against an action attribute and value if the action supports context updates, and
determining whether the action supports child rules and advancing to a first rule in the child rule set if the action supports child rules.
13 . The computer system of claim 11 , the one or more programs further including instructions for:
determining whether the action supports continuation, advancing to a next rule in a current set of rules or a next rule in a parent set of rules if the action supports continuation, and
ending HTTP request processing and returning control to a hosting runtime when the action does not support continuation.
14 . The computer system of claim 11 , wherein the computer system supports vanity URLs.
15 . The computer system of claim 11 , wherein a core gateway of an identity management system comprises the one or more programs.
16 . The computer system of claim 11 , the one or more programs further including instructions for:
iterating through a set of preconfigured rules and testing the HTTP request against each rule in turn, wherein each rule is defined by a match test and a match action.
17 . The computer system of claim 16 , wherein the match test is a description of an attribute of the match context that should be tested against.
18 . The computer system of claim 16 , wherein the match action is an operation to be invoked upon a successful match test.
19 . The computer system of claim 16 , wherein the match test is defined by one of an evaluation kind that determines how the test should be evaluated, an attribute of the match context to test against, and an argument value to resolve the test against.
20 . The computer system of claim 19 , wherein the evaluation kind is an equality test, wherein the attribute is a URL path and wherein the argument value is a comparison value.
21 . A nontransitory computer readable storage medium storing one or more programs configured to be executed by one or more processing units at a computer comprising instructions for:
capturing an HTTP request and a Web application context,
resolving a match context for the HTTP request and the Web application context,
resolving a set of top-level rules for evaluating the HTTP request and the Web application context,
evaluating the match context against a first rule among the top-level rules, and
invoking an action for modifying one or more of the HTTP request, the Web application context, and the match context.
22 . The nontransitory computer readable storage medium of claim 21 , the one or more programs further including instructions for:
evaluating the first rule against the match context, and advancing to a next rule if the first rule does not match,
determining whether an action supports context updates and updating the match context against an action attribute and value if the action supports context updates, and
determining whether the action supports child rules and advancing to a first rule in the child rule set if the action supports child rules.
23 . The nontransitory computer readable storage medium of claim 21 , the one or more programs further including instructions for:
determining whether the action supports continuation, advancing to a next rule in a current set of rules or a next rule in a parent set of rules if the action supports continuation, and
ending HTTP request processing and returning control to a hosting runtime when the action does not support continuation.
24 . The nontransitory computer readable storage medium of claim 21 , wherein the nontransitory computer readable storage medium supports vanity URLs.
25 . The nontransitory computer readable storage medium of claim 21 , wherein a core gateway of an identity management system comprises the one or more programs.
26 . The nontransitory computer readable storage medium of claim 21 , the one or more programs further including instructions for:
iterating through a set of preconfigured rules and testing the HTTP request against each rule in turn, wherein each rule is defined by a match test and a match action.
27 . The nontransitory computer readable storage medium of claim 26 , wherein the match test is a description of an attribute of the match context that should be tested against.
28 . The nontransitory computer readable storage medium of claim 26 , wherein the match action is an operation to be invoked upon a successful match test.
29 . The nontransitory computer readable storage medium of claim 26 , wherein the match test is defined by one of an evaluation kind that determines how the test should be evaluated, an attribute of the match context to test against, and an argument value to resolve the test against.
30 . The nontransitory computer readable storage medium of claim 29 , wherein the evaluation kind is an equality test, wherein the attribute is a URL path and wherein the argument value is a comparison value.