Post the error message from executing the function handler for :code:`function_arn`
        with specifid :code:`invocation_id`


        :param function_arn: Arn of the Lambda function which has the handler error message.
        :type function_arn: string

        :param invocation_id: Invocation ID of the work that is being requested
        :type invocation_id: string

        :param handler_err: the error message caught from handler
        :type handler_err: string

def post_handler_err(self, function_arn, invocation_id, handler_err):
        """
        Post the error message from executing the function handler for :code:`function_arn`
        with specifid :code:`invocation_id`


        :param function_arn: Arn of the Lambda function which has the handler error message.
        :type function_arn: string

        :param invocation_id: Invocation ID of the work that is being requested
        :type invocation_id: string

        :param handler_err: the error message caught from handler
        :type handler_err: string
        """
        url = self._get_work_url(function_arn)

        runtime_logger.info('Posting handler error for invocation id [{}] to {}'.format(invocation_id, url))

        payload = json.dumps({
            "errorMessage": handler_err,
        }).encode('utf-8')

        request = Request(url, payload)
        request.add_header(HEADER_INVOCATION_ID, invocation_id)
        request.add_header(HEADER_FUNCTION_ERR_TYPE, "Handled")
        request.add_header(HEADER_AUTH_TOKEN, self.auth_token)

        urlopen(request)

        runtime_logger.info('Posted handler error for invocation id [{}]'.format(invocation_id))