def registration(uri):
    """httpretty handler registration.

    registers a handler for a given uri with httpretty
    so that it can be intercepted and handed to
    stack-in-a-box.

    :param uri: uri used for the base of the http requests

    :returns: n/a

    """

    # add the stack-in-a-box specific response codes to
    # http's status information
    status_data = {
        595: 'StackInABoxService - Unknown Route',
        596: 'StackInABox - Exception in Service Handler',
        597: 'StackInABox - Unknown Service'
    }
    for k, v in six.iteritems(status_data):
        if k not in httpretty.http.STATUSES:
            httpretty.http.STATUSES[k] = v

    # log the uri that is used to access the stack-in-a-box services
    logger.debug('Registering Stack-In-A-Box at {0} under Python HTTPretty'
                 .format(uri))
    # tell stack-in-a-box what uri to match with
    StackInABox.update_uri(uri)

    # build the regex for the uri and register all http verbs
    # with httpretty
    regex = re.compile('(http)?s?(://)?{0}:?(\d+)?/'.format(uri),
                       re.I)
    for method in HttpBaseClass.METHODS:
        register_uri(method, regex, body=httpretty_callback)
httpretty handler registration.

    registers a handler for a given uri with httpretty
    so that it can be intercepted and handed to
    stack-in-a-box.

    :param uri: uri used for the base of the http requests

    :returns: n/a