Because the page is run once to generate the "module" for that page which includes the service() method which is then called for each request. This means there is no request when the module is being generated, so no current_url. There should be a current_url inside the service() method.
Woe to those who call bad good and good bad -- Isaiah 5:20
Following the Old Testament, not evil modern culture