diff --git a/src/main/java/biz/nynja/airdrop/Config.java b/src/main/java/biz/nynja/airdrop/Config.java index 6c3866170d6415409761bbfdea85610df7024db1..4baeb49cde3cba574dcb4de3477c6197eba83502 100644 --- a/src/main/java/biz/nynja/airdrop/Config.java +++ b/src/main/java/biz/nynja/airdrop/Config.java @@ -238,13 +238,15 @@ public class Config implements WebMvcConfigurer { // ====== GRPC CONFIGURATION ===== - @Bean(name = "accountServiceManagedChannel") + // NOTE : Since, GRPC header is not updated So, its configuration will be done in GRPC Account Service call function. + + /* @Bean(name = "accountServiceManagedChannel") public ManagedChannel accountServiceManagedChannel() { // ManagedChannel managedChannel = ManagedChannelBuilder.forAddress(GRPC_ACCOUNT_SERVICE_HOST, GRPC_ACCOUNT_SERVICE_PORT).usePlaintext().build(); - ManagedChannel managedChannel = NettyChannelBuilder.forAddress(GRPC_ACCOUNT_SERVICE_HOST, GRPC_ACCOUNT_SERVICE_PORT).usePlaintext().build(); + ManagedChannel managedChannel = NettyChannelBuilder.forAddress(GRPC_ACCOUNT_SERVICE_HOST, GRPC_ACCOUNT_SERVICE_PORT).usePlaintext().build(); logger.info("Account Service grpc channel is established"); return managedChannel; - } + }*/ @Bean(name = "authServiceManagedChannel") public ManagedChannel authServiceManagedChannel() { diff --git a/src/main/java/biz/nynja/airdrop/grpc/AccountServiceClient.java b/src/main/java/biz/nynja/airdrop/grpc/AccountServiceClient.java index 73e9756d6ac5e8888fe2cc7c0cb8041eb8019405..e1ac039f2e265df6f3888a7101d9552e522df21c 100644 --- a/src/main/java/biz/nynja/airdrop/grpc/AccountServiceClient.java +++ b/src/main/java/biz/nynja/airdrop/grpc/AccountServiceClient.java @@ -2,22 +2,33 @@ package biz.nynja.airdrop.grpc; import biz.nynja.account.grpc.*; import io.grpc.ManagedChannel; +import io.grpc.ManagedChannelBuilder; import io.grpc.Metadata; import io.grpc.stub.MetadataUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; import java.util.UUID; @Component public class AccountServiceClient { + + //======= GRPC PROPERTIES =========== + @Value("${grpc.accountService.host}") + private String GRPC_ACCOUNT_SERVICE_HOST; + @Value("${grpc.accountService.port}") + private int GRPC_ACCOUNT_SERVICE_PORT; + + + + +/* @Autowired @Qualifier("accountServiceManagedChannel") private ManagedChannel managedChannel; private AccountServiceGrpc.AccountServiceBlockingStub accountServiceStub; +*/ /* @@ -53,11 +64,28 @@ public class AccountServiceClient { System.out.println("username : " + username); System.out.println("token : " + token); System.out.println(""); + System.out.println("GRPC_ACCOUNT_SERVICE_HOST : " + GRPC_ACCOUNT_SERVICE_HOST); + System.out.println("GRPC_ACCOUNT_SERVICE_PORT : " + GRPC_ACCOUNT_SERVICE_PORT); + System.out.println(""); System.out.println("---------------"); System.out.println(""); - GetByUsernameRequest request = GetByUsernameRequest.newBuilder().setUsername(username).build(); + /* + + Metadata header = new Metadata(); + Metadata.Key key = + Metadata.Key.of("Authorization", Metadata.ASCII_STRING_MARSHALLER); + header.put(key, "Bearer " + token); + + + accountServiceStub = MetadataUtils.attachHeaders(accountServiceStub, header); +*/ + + ManagedChannel managedChannel = ManagedChannelBuilder.forAddress(GRPC_ACCOUNT_SERVICE_HOST, GRPC_ACCOUNT_SERVICE_PORT) + .usePlaintext().build(); + + AccountServiceGrpc.AccountServiceBlockingStub accountServiceStub = AccountServiceGrpc.newBlockingStub(managedChannel); Metadata header = new Metadata(); Metadata.Key key = @@ -67,6 +95,8 @@ public class AccountServiceClient { accountServiceStub = MetadataUtils.attachHeaders(accountServiceStub, header); + GetByUsernameRequest request = GetByUsernameRequest.newBuilder().setUsername(username).build(); + SearchResponse searchByUserNameResponse = accountServiceStub.searchByUsername(request); System.out.println(""); @@ -87,17 +117,33 @@ public class AccountServiceClient { System.out.println("username : " + username); System.out.println("token :" + token); System.out.println(""); + System.out.println("GRPC_ACCOUNT_SERVICE_HOST : " + GRPC_ACCOUNT_SERVICE_HOST); + System.out.println("GRPC_ACCOUNT_SERVICE_PORT : " + GRPC_ACCOUNT_SERVICE_PORT); + System.out.println(""); - GetByUsernameRequest request = GetByUsernameRequest.newBuilder().setUsername(username).build(); - + /* Metadata header = new Metadata(); Metadata.Key key = Metadata.Key.of("Authorization", Metadata.ASCII_STRING_MARSHALLER); header.put(key, "Bearer " + token); + accountServiceStub = MetadataUtils.attachHeaders(accountServiceStub, header);*/ + + ManagedChannel managedChannel = ManagedChannelBuilder.forAddress(GRPC_ACCOUNT_SERVICE_HOST, GRPC_ACCOUNT_SERVICE_PORT) + .usePlaintext().build(); + + AccountServiceGrpc.AccountServiceBlockingStub accountServiceStub = AccountServiceGrpc.newBlockingStub(managedChannel); + + Metadata header = new Metadata(); + Metadata.Key key = + Metadata.Key.of("Authorization", Metadata.ASCII_STRING_MARSHALLER); + header.put(key, "Bearer " + token); + accountServiceStub = MetadataUtils.attachHeaders(accountServiceStub, header); + GetByUsernameRequest request = GetByUsernameRequest.newBuilder().setUsername(username).build(); + SearchResponse searchByUserNameResponse = accountServiceStub.searchByUsername(request); ErrorResponse errorResponse = searchByUserNameResponse.getError(); @@ -133,9 +179,9 @@ public class AccountServiceClient { } - @PostConstruct + /*@PostConstruct public void init() { accountServiceStub = AccountServiceGrpc.newBlockingStub(managedChannel); - } + }*/ } diff --git a/src/main/java/biz/nynja/airdrop/util/HttpResponse.java b/src/main/java/biz/nynja/airdrop/util/HttpResponse.java index 19d126e15a065809da71a65b190920be44f5eeab..d0deb817632e4b5b401a4a271393a4bf17938fef 100644 --- a/src/main/java/biz/nynja/airdrop/util/HttpResponse.java +++ b/src/main/java/biz/nynja/airdrop/util/HttpResponse.java @@ -2,7 +2,6 @@ package biz.nynja.airdrop.util; import java.util.HashMap; import java.util.Map; - import static biz.nynja.airdrop.util.HttpConstants.*; public class HttpResponse { @@ -11,7 +10,6 @@ public class HttpResponse { //public static Map getResponse(int statusCode, Map data, String messageTag) { public static Map getResponse(int statusCode, Object data, String messageTag) { - Map response = new HashMap(4); response.put("status", statusCode); diff --git a/src/main/resources/token/token.json b/src/main/resources/token/token.json index f23239c4806bb065e8ab3d0a83aa379693518d5e..970cf9d52e05352e4c327614b19eef33496efe66 100644 --- a/src/main/resources/token/token.json +++ b/src/main/resources/token/token.json @@ -1,4 +1,4 @@ { - "accessToken": "eyJraWQiOiIyMDE5MDcwOCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJZVGM1TWpkalpHVXRNamhrWmkwMFpqWmlMVGxoWmpBdE4yRmlZV0l3TkdFeVpEUmwiLCJhdWQiOiJNVEl6OjEyMzoxMjMiLCJzY29wZSI6ImFjY2VzcyIsInJvbGVzIjpbIlVTRVIiXSwiaXNzIjoiaHR0cHM6Ly9hdXRoLm55bmphLmJpei8iLCJleHAiOjE1NjMyNjIyMTksImlhdCI6MTU2MjY1NzQxOX0.4gcuiVUrHNt6p4DWXN8m4HJix8heeRkHa7RVxlqONYKwjbGa_wadYi-IjW1ddXTGDi13a9ZLPCScNkbZ0Eq-Jw", + "accessToken": "eyJraWQiOiIyMDE5MDcxNSIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJZVGM1TWpkalpHVXRNamhrWmkwMFpqWmlMVGxoWmpBdE4yRmlZV0l3TkdFeVpEUmwiLCJhdWQiOiJNVEl6OjEyMzoxMjMiLCJzY29wZSI6ImFjY2VzcyIsInJvbGVzIjpbIlVTRVIiXSwiaXNzIjoiaHR0cHM6Ly9hdXRoLm55bmphLmJpei8iLCJleHAiOjE1NjM5NzE2NDUsImlhdCI6MTU2MzM2Njg0NX0.ZY92lChPm37AsjmWpdWx-k307cADwY9-HghrsUAuRnih9l565RTw-0P3UVDZI9-VEjTtg-L4rx70QizDONv7NQ", "refreshToken": "cGVtdklVZDRaZHI3Unc1QkVMenNDazl2NklYNUt4YnZRVkY1ZlMzajdPUDB3Q0cycnB1VmFXejlNUlc4QWF4S3RJRGdJS2V4a0l5MFVrSTFmL3NnTDhSWWUrWG9zMHhKZjlzOE5CS1hHUkt3SURoSm9jKzNKUXlpMGh6ZzlkUHcvQTZFQlN3WHUwcEhjSFVJZnd2RzA4dWhwZExyVHlVN0Z4L3dvL0VBUlJFc0FyQXlqbEY5SlNuOWJHeGFJQXV5dnFzemFJbUpYVEx2UTNPRWFZWHJmNDhSaDF1dnRrQ0Y1Z1pITllNUjJTbUNOZG9sa1BUczgzQ0E6YnhKSEZLaDhhY3ZHekVWVXVwU282UT09" } \ No newline at end of file