<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def request(self, method, parameters, header):
        '''
        Grooveshark API request
        '''
        data = json.dumps({
            'parameters': parameters,
            'method': method,
            'header': header})
        request = urllib.Request(
            'https://grooveshark.com/more.php?%s' % (method),
            data=data.encode('utf-8'), headers=self._json_request_header())
        with contextlib.closing(self.urlopen(request)) as response:
            result = json.loads(response.read().decode('utf-8'))
            if 'result' in result:
                return response.info(), result['result']
            elif 'fault' in result:
                raise RequestError(result['fault']['message'],
                                   result['fault']['code'])
            else:
                raise UnknownError(result)