Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: empty-node-fetch-response #58

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

shreyanshshah27
Copy link

@shreyanshshah27 shreyanshshah27 commented Mar 6, 2023

This fixes keploy/keploy#376

Signed-off-by: Shreyansh Shah <[email protected]>
@developer-diganta
Copy link

@re-Tick Can you please review this? @shreyanshshah27 Please wait while the maintainers review this. After that you can add this in the completed task list in the gsoc repo!

@@ -37,6 +38,9 @@ export function wrappedNodeFetch(fetch: any) {
url: any,
options: any
) {
if (process.env.KEPLOY_MODE == MODE_OFF) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the context should be created in middleware. here we can do an actual fetch call along console in below if block

if (
      getExecutionContext() == undefined ||
      getExecutionContext().context == undefined

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @re-Tick

It makes sense not to create a context here and directly calling the fetch function. I've incorporated this change, but a bit differently.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the user have not provided the KEPLOY_MODE env variable then, it will still do the same problem.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct. but probably that is the ideal behavior right? If the user isn't providing the KEPLOY_MODE then it's better to return some error and inform the user, instead of directly assuming OFF mode.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes we should console an error to inform the user but also we should do the actual function call so, that the user application do not break due to Keploy SDK integration

Copy link
Contributor

@re-Tick re-Tick Mar 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct. but probably that is the ideal behavior right? If the user isn't providing the KEPLOY_MODE then it's better to return some error and inform the user, instead of directly assuming OFF mode.

The default value of KEPLOY_MODE is "off". So, if the env variable is empty then, user application should run on off mode.

Here, the issue is that when user have missed the router integration in its application, then the context in async map is empty. The behaviour should be to log an error message and return the outputs of the actual wrapped function call.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. Understood. My apologies, I wasn't aware that default KEPLOY_MODE is "off". In that case, what you are suggesting, makes sense. I've made the required changes. @re-Tick Can you please review this again?

@re-Tick re-Tick added Don't Merge Not to be merged until gsoc results Accepted PR is reviewed and Accepted labels Mar 9, 2023
Signed-off-by: Shreyansh Shah <[email protected]>
@re-Tick re-Tick removed Don't Merge Not to be merged until gsoc results Accepted PR is reviewed and Accepted labels Mar 9, 2023
@shreyanshshah27
Copy link
Author

@re-Tick @developer-diganta Can someone please review this PR?

@re-Tick
Copy link
Contributor

re-Tick commented Mar 26, 2023

LGTM

@re-Tick re-Tick added Don't Merge Not to be merged until gsoc results Accepted PR is reviewed and Accepted labels Mar 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted PR is reviewed and Accepted Don't Merge Not to be merged until gsoc results
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[bug]: Empty response for node-fetch http call
3 participants