use drupal header listener to avoid injecting response.
convert q to router item for controller.