def get_streams(self):
        """
        Request and return a list of streams we can download from UberNet.
        """
        # we can't continue without a session ticket
        if not hasattr(self, "_session"):
            return None

        headers = {"X-Authorization": self._session}
        # we no longer need the session ticket
        del self._session

        self.connection.request("GET", "/Launcher/ListStreams?Platform=Linux",
                                headers=headers)
        response = self.connection.getresponse()
        if response.status is not HTTP_OK:
            print("! Encountered an error: {0} {1}.".format(response.status,
                                                            response.reason))
            return None

        # get and parse response data
        raw_data = response.read()
        result = loads(raw_data.decode("utf-8"))
        self._streams = {stream["StreamName"]: stream
                         for stream in result["Streams"]}
        return self._streams