<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):
 """ Access one source's info. This is for direct access to an entry by name for random access, which is useful to the client when the whole catalog has not first been listed and pulled locally (e.g., in the case of pagination). """

        head = self.request.headers
        name = self.get_argument('name')
        if self.auth.allow_connect(head):
            if 'source_id' in head:
                cat = self._cache.get(head['source_id'])
            else:
                cat = self._catalog
            try:
                source = cat[name]
            except KeyError:
                msg = 'No such entry'
                raise tornado.web.HTTPError(status_code=404, log_message=msg,
                                            reason=msg)
            if self.auth.allow_access(head, source, self._catalog):
                info = source.describe()
                info['name'] = name
                source_info = dict(source=info)
                self.write(msgpack.packb(source_info, use_bin_type=True))
                return

        msg = 'Access forbidden'
        raise tornado.web.HTTPError(status_code=403, log_message=msg,
                                    reason=msg)