<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get(self, url, params=None, cache_cb=None, **kwargs):
 """ Make http get request. :param url: :param params: :param cache_cb: (optional) a function that taking requests.Response as input, and returns a bool flag, indicate whether should update the cache. :param cache_expire: (optional). :param kwargs: optional arguments. """

        if self.use_random_user_agent:
            headers = kwargs.get("headers", dict())
            headers.update({Headers.UserAgent.KEY: Headers.UserAgent.random()})
            kwargs["headers"] = headers

        url = add_params(url, params)

        cache_consumed, value = self.try_read_cache(url)
        if cache_consumed:
            response = requests.Response()
            response.url = url
            response._content = value
        else:
            response = self.ses.get(url, **kwargs)

        if self.should_we_update_cache(response, cache_cb, cache_consumed):
            self.cache.set(
                url, response.content,
                expire=kwargs.get("cache_expire", self.cache_expire),
            )
        return response