google-nomulus/java/google/registry
jianglai 4a5b317016 Add web WHOIS redirect support
Opened two ports (30010 and 30011 by default) that handles HTTP(S) GET requests. the HTTP request is redirected to the corresponding HTTPS site, whereas the HTTPS request is redirected to a site that supports web WHOIS.

The GCLB currently exposes port 80, but not port 443 on its TCP proxy load balancer (see https://cloud.google.com/load-balancing/docs/choosing-load-balancer). As a result, the HTTP traffic has to be routed by the HTTP load balancer, which requires a separate HTTP health check (as opposed to the TCP health check that the TCP proxy LB uses). This CL also added support for HTTP health check.

There is not a strong case for adding an end-to-end test for WebWhoisProtocolsModule (like those for EppProtocolModule, etc) as it just assembles standard HTTP codecs used for an HTTP server, plus the WebWhoisRedirectHandler, which is tested. The end-to-end test would just be testing if the Netty provided HTTP handlers correctly parse raw HTTP messages.

Sever other small improvement is also included:

[1] Use setInt other than set when setting content length in HTTP headers. I don't think it is necessary, but it is nevertheless a better practice to use a more specialized setter.
[2] Do not write metrics when running locally.
[3] Rename the qualifier @EppCertificates to @ServerSertificate as it now provides the certificate used in HTTPS traffic as well.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=206944843
2018-08-10 13:46:48 -04:00
..
backup Clean up third_party imports in BUILD files 2018-07-14 01:11:51 -04:00
batch Use locking on async mapreduces 2018-08-10 13:44:25 -04:00
beam Fix open source build 2018-08-10 13:44:25 -04:00
bigquery Clean up annotation imports in BUILD files 2018-06-27 15:28:53 -04:00
builddefs Remove the deprecated, now no-op, "data" transition 2018-08-10 13:44:25 -04:00
config Add preliminary spec11 monthly pipeline 2018-08-10 13:44:25 -04:00
cron Clean up third_party imports in BUILD files 2018-07-14 01:11:51 -04:00
dns Add feature to disable --experimental_java_proto_library_enforce_strict_deps for 2018-08-10 13:44:25 -04:00
env Switch pubapi/default service to basic scaling in prod/sandbox 2018-07-17 22:01:08 -04:00
export Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
flows Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
gcs Clean up annotation imports in BUILD files 2018-06-27 15:28:53 -04:00
groups Clean up third_party imports in BUILD files 2018-07-14 01:11:51 -04:00
idn Update IDN tables to comply with https://www.iana.org/help/idn-repository-procedure 2018-02-01 21:59:14 -05:00
keyring Delete all Braintree code 2018-07-14 01:37:03 -04:00
loadtest Clean up annotation imports in BUILD files 2018-06-27 15:28:53 -04:00
mapreduce Use locking on async mapreduces 2018-08-10 13:44:25 -04:00
model Add an auto update time field to the Cursor entity 2018-08-10 13:44:25 -04:00
module Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
monitoring/whitebox Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
pricing Clean up third_party imports in BUILD files 2018-07-14 01:11:51 -04:00
proxy Add web WHOIS redirect support 2018-08-10 13:46:48 -04:00
rdap Clean up annotation imports in BUILD files 2018-06-27 15:28:53 -04:00
rde Move the RDE PGP file encoding to a dedicated file 2018-08-10 13:44:25 -04:00
reporting Add preliminary spec11 monthly pipeline 2018-08-10 13:44:25 -04:00
request Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
security Improve internal build system speed 2018-06-27 15:28:52 -04:00
storage/drive Clean up third_party imports in BUILD files 2018-07-14 01:11:51 -04:00
tldconfig/idn Clean up third_party imports in BUILD files 2018-07-14 01:11:51 -04:00
tmch Clean up annotation imports in BUILD files 2018-06-27 15:28:53 -04:00
tools Add an auto update time field to the Cursor entity 2018-08-10 13:44:25 -04:00
ui Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
util Wrap ModulesService in new AppEngineServiceUtils 2018-08-10 13:44:25 -04:00
whois Clean up annotation imports in BUILD files 2018-06-27 15:28:53 -04:00
xjc Run bazel installer as a argument to bash 2018-08-10 13:44:25 -04:00
xml Pretty-print actual XML in tests 2018-07-14 01:37:03 -04:00
BUILD Remove most HTML/CSS/JS assets from the backend service WAR 2018-06-27 15:28:53 -04:00
repositories.bzl Upgrade Guava and Truth versions 2018-08-10 13:44:25 -04:00