<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def route_method(method_name, extra_part=False):
 """Custom handler routing decorator. Signs a web handler callable with the http method as attribute. Args: method_name (str):
 HTTP method name (i.e GET, POST) extra_part (bool):
 Indicates if wrapped callable name should be a part of the actual endpoint. Returns: A wrapped handler callable. examples: 'GET' None """

    def wrapper(callable_obj):
        if method_name.lower() not in DEFAULT_ROUTES:
            raise HandlerHTTPMethodError(
                'Invalid http method in method: {}'.format(method_name)
            )

        callable_obj.http_method = method_name.upper()

        callable_obj.url_extra_part = callable_obj.__name__ if extra_part\
            else None

        return classmethod(callable_obj)
    return wrapper