1. A computer-implemented method for manipulating a uniform resource identifier (URI), the method comprising: receiving, at a processing system, an input string, wherein the input string includes at least one rewritten URI string that has been rewritten from an original URI string form; interacting, at the processing system, with a plurality of URI rewriters to select a URI rewriter, wherein the interacting includes: calling a function associated with each of the plurality of URI rewriters, receiving a response from a first URI rewriter indicating that the first URI rewriter recognizes a format of the at least one rewritten URI string based on the first URI rewriter executing the function, determining that the first URI rewriter is operable to parse the at least one rewritten URI string, and selecting the first URI rewriter among the plurality of URI rewriters; providing the at least one rewritten URI string to the selected URI rewriter, wherein the selected URI rewriter parses the at least one rewritten URI string to generate a URI manipulator corresponding to the at least one rewritten URI string, wherein the URI manipulator is configured to return at least one URI string associated with the at least one rewritten URI string, wherein the at least one URI string is in the original URI string form; and performing, at the processing system, one or more operations on portions of the at least one URI string in the original URI string form using the URI manipulator.