diff --git a/logs_http.admin.inc b/logs_http.admin.inc index 1f020c2..1b6586a 100644 --- a/logs_http.admin.inc +++ b/logs_http.admin.inc @@ -19,6 +19,7 @@ function logs_http_admin_settings($form, &$form_state) { $form['logs_http_url'] = array( '#type' => 'textfield', '#title' => t('Endpoint'), + '#maxlength' => 2000, '#description' => t('The URL to POST the data to.'), '#default_value' => variable_get('logs_http_url', NULL), ); diff --git a/logs_http.module b/logs_http.module index 1f0cf79..aa95d34 100644 --- a/logs_http.module +++ b/logs_http.module @@ -98,16 +98,30 @@ function logs_http_shutdown() { } $url = logs_http_get_http_url(); - + $requests = array(); // Send events to logs. foreach ($events as $event) { - $options = array( - 'method' => 'POST', + $requests[] = array( + 'event' => $event, 'data' => drupal_json_encode($event), ); + } + + drupal_alter('logs_http_requests', $requests); - // Send data to Logs. + foreach ($requests as $key => $request) { + $options = array( + 'method' => 'POST', + 'data' => $request['data'], + ); $response = drupal_http_request($url, $options); + + if ($response->code != '200') { + module_invoke_all('logs_http_request_error', $response); + } + else { + module_invoke_all('logs_http_request_success', $response); + } } }