Perform http request to get random surah.

        Parameter:
            :lang       --  String contains language code.

        Return:
            :dict       --  Paired ayat, sound, description and the translation.

def get_random_surah(self, lang='id'):
        """
        Perform http request to get random surah.

        Parameter:
            :lang       --  String contains language code.

        Return:
            :dict       --  Paired ayat, sound, description and the translation.
        """
        # Ensure the language supported.
        if lang not in self.SUPPORTED_LANGUAGES:
            message = 'Currently your selected language not yet supported.'
            raise ODOAException(message)
        # Get random surah and construct the url.
        rand_surah = random.randint(1, self.TOTAL_SURAH)
        surah_url = '{base}/surah/surah_{pages}.json'.format(base=self.BASE_API,
                                                             pages=rand_surah)
        try:
            response = urlopen(surah_url)                        # Fetch data from given url.
            data = json.loads(response.read().decode('utf-8'))   # Get response and convert to dict.
        except IOError:
            traceback.print_exc(file=sys.stdout)
            raise ODOAException
        else:
            # Get random ayat.
            random_ayah = random.randint(1, int(data.get('count')))
            ayah_key = 'verse_{index}'.format(index=random_ayah)
            ayah = data['verse'][ayah_key].encode('utf-8')
            surah_index = data.get('index')
            surah_name = data.get('name')
            # Get translation and sound url.
            translation = self.__get_translation(surah=surah_index,
                                                 ayah=ayah_key,
                                                 lang=lang)
            sound = self.__get_sound(surah=surah_index, ayah=random_ayah)
            desc = '{name}:{ayah}'.format(name=surah_name, ayah=random_ayah)
            meta = Metadata(ayah, desc, translation, sound)
            return meta