Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
I have an Angular application. The frontend has a mechanism that periodically fetches some information like this: ngOnInit(): void { setInterval( () => { this.http.get(... ).sub...
#3: Post edited
- I have an Angular application. The frontend has a mechanism that periodically fetches some information like this:
- ````
- ngOnInit(): void {
- setInterval( () => {
- this.http.get(... ).subscribe(
- (data) => {
- this.data: any = data;
- }
- }, 10000);
- }
- ````
- This gets handled in the backend by the service method
- ````
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
- public Response getData(
- ...
- ````
- I also have a function for refreshing the token declared like this:
- ````
- @POST
- @Path("/token")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- public Response updateToken(String token) {
- ````
The problem is that I only want the token to be updated when the actual user is clicking around at the page. Not for this notifier.- I have come up with some possible strategies here.
- 1. Send some extra metadata in the url passed to this.http.get and somehow figure out how to extract that in updateToken
- 2. Adding a separate endpoint and somehow make this avoid triggering updateToken
- 3. Changing this.http.get to something completely different call
- 4. Making the server send updates periodically to valid tokens
- But I have no idea how to start with any of these. Can you help?
- I have an Angular application. The frontend has a mechanism that periodically fetches some information like this:
- ````
- ngOnInit(): void {
- setInterval( () => {
- this.http.get(... ).subscribe(
- (data) => {
- this.data: any = data;
- }
- }, 10000);
- }
- ````
- This gets handled in the backend by the service method
- ````
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
- public Response getData(
- ...
- ````
- I also have a function for refreshing the token declared like this:
- ````
- @POST
- @Path("/token")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- public Response updateToken(String token) {
- ````
- The problem is that I only want the token to be updated when the actual user is clicking around at the page. Not for this notifier. The user should be automatically logged out if inactive for a while. That's why this matters.
- I have come up with some possible strategies here.
- 1. Send some extra metadata in the url passed to this.http.get and somehow figure out how to extract that in updateToken
- 2. Adding a separate endpoint and somehow make this avoid triggering updateToken
- 3. Changing this.http.get to something completely different call
- 4. Making the server send updates periodically to valid tokens
- But I have no idea how to start with any of these. Can you help?
#2: Post edited
- I have an Angular application. The frontend has a mechanism that periodically fetches some information like this:
- ````
- ngOnInit(): void {
- setInterval( () => {
- this.http.get(... ).subscribe(
- (data) => {
- this.data: any = data;
- }
- }, 10000);
- }
- ````
- This gets handled in the backend by the service method
- ````
@GET@Produces(MediaType.APPLICATION_JSON)@Consumes(MediaType.APPLICATION_JSON)public Response getData(...- ````
- I also have a function for refreshing the token declared like this:
- ````
@POST@Path("/token")@Consumes(MediaType.APPLICATION_JSON)@Produces(MediaType.APPLICATION_JSON)public Response updateToken(String token) {- ````
- The problem is that I only want the token to be updated when the actual user is clicking around at the page. Not for this notifier.
- I have come up with some possible strategies here.
- 1. Send some extra metadata in the url passed to this.http.get and somehow figure out how to extract that in updateToken
- 2. Adding a separate endpoint and somehow make this avoid triggering updateToken
- 3. Changing this.http.get to something completely different call
- 4. Making the server send updates periodically to valid tokens
- But I have no idea how to start with any of these. Can you help?
- I have an Angular application. The frontend has a mechanism that periodically fetches some information like this:
- ````
- ngOnInit(): void {
- setInterval( () => {
- this.http.get(... ).subscribe(
- (data) => {
- this.data: any = data;
- }
- }, 10000);
- }
- ````
- This gets handled in the backend by the service method
- ````
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
- public Response getData(
- ...
- ````
- I also have a function for refreshing the token declared like this:
- ````
- @POST
- @Path("/token")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- public Response updateToken(String token) {
- ````
- The problem is that I only want the token to be updated when the actual user is clicking around at the page. Not for this notifier.
- I have come up with some possible strategies here.
- 1. Send some extra metadata in the url passed to this.http.get and somehow figure out how to extract that in updateToken
- 2. Adding a separate endpoint and somehow make this avoid triggering updateToken
- 3. Changing this.http.get to something completely different call
- 4. Making the server send updates periodically to valid tokens
- But I have no idea how to start with any of these. Can you help?
#1: Initial revision
How to prevent token from being refreshed
I have an Angular application. The frontend has a mechanism that periodically fetches some information like this: ```` ngOnInit(): void { setInterval( () => { this.http.get(... ).subscribe( (data) => { this.data: any = data; } }, 10000); } ```` This gets handled in the backend by the service method ```` @GET @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public Response getData( ... ```` I also have a function for refreshing the token declared like this: ```` @POST @Path("/token") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response updateToken(String token) { ```` The problem is that I only want the token to be updated when the actual user is clicking around at the page. Not for this notifier. I have come up with some possible strategies here. 1. Send some extra metadata in the url passed to this.http.get and somehow figure out how to extract that in updateToken 2. Adding a separate endpoint and somehow make this avoid triggering updateToken 3. Changing this.http.get to something completely different call 4. Making the server send updates periodically to valid tokens But I have no idea how to start with any of these. Can you help?