alts: Metadata server address modification to account for default port · grpc/grpc-java@498f717 (original) (raw)

`@@ -16,7 +16,6 @@

`

16

16

``

17

17

`package io.grpc.alts;

`

18

18

``

19

``

`-

import com.google.common.base.MoreObjects;

`

20

19

`import io.grpc.CallOptions;

`

21

20

`import io.grpc.Channel;

`

22

21

`import io.grpc.ClientCall;

`

`@@ -38,13 +37,29 @@

`

38

37

` * application will have at most one connection to the handshaker service.

`

39

38

` */

`

40

39

`final class HandshakerServiceChannel {

`

``

40

`+

// Port 8080 is necessary for ALTS handshake.

`

``

41

`+

private static final int ALTS_PORT = 8080;

`

``

42

`+

private static final String DEFAULT_TARGET = "metadata.google.internal.:8080";

`

41

43

``

42

44

`static final Resource SHARED_HANDSHAKER_CHANNEL =

`

43

``

`-

new ChannelResource(

`

44

``

`-

MoreObjects.firstNonNull(

`

45

``

`-

System.getenv("GCE_METADATA_HOST"), "metadata.google.internal.:8080"));

`

46

``

-

47

``

-

``

45

`+

new ChannelResource(getHandshakerTarget(System.getenv("GCE_METADATA_HOST")));

`

``

46

+

``

47

`+

/**

`

``

48

`+

`

``

49

`+

`

``

50

`+

*/

`

``

51

`+

static String getHandshakerTarget(String envValue) {

`

``

52

`+

if (envValue == null || envValue.isEmpty()) {

`

``

53

`+

return DEFAULT_TARGET;

`

``

54

`+

}

`

``

55

`+

String host = envValue;

`

``

56

`+

int portIndex = host.lastIndexOf(':');

`

``

57

`+

if (portIndex != -1) {

`

``

58

`+

host = host.substring(0, portIndex); // Discard port if specified

`

``

59

`+

}

`

``

60

`+

return host + ":" + ALTS_PORT; // Utilize ALTS port in all cases

`

``

61

`+

}

`

``

62

+

48

63

`/** Returns a resource of handshaker service channel for testing only. */

`

49

64

`static Resource getHandshakerChannelForTesting(String handshakerAddress) {

`

50

65

`return new ChannelResource(handshakerAddress);

`