'Invokes Forum\'s POST/PUT service to create/update thread'

def save(self, params=None):

    self.before_save(self)
    if self.id:
        request_params = self.updatable_attributes()
        if params:
            request_params.update(params)
        url = self.url(action='put', params=self.attributes)
        response = perform_request('put', url, request_params, metric_tags=self._metric_tags, metric_action='model.update')
    else:
        url = self.url(action='post', params=self.attributes)
        response = perform_request('post', url, self.initializable_attributes(), metric_tags=self._metric_tags, metric_action='model.insert')
    self.retrieved = True
    self._update_from_response(response)
    self.after_save(self)
