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

dns: refactor default resolver #44541

Merged
merged 2 commits into from Sep 13, 2022

Commits on Sep 6, 2022

  1. dns: refactor default resolver

    This patch refactors the DNS default resolver code to make it
    easier to be included in a snapshot:
    
    - The code specific for the callback-based DNS resolver are not
      in a separate module to make the dependency clearer (it's not
      actually needed if the user only ever loads `dns/promises`)
    - The common part of the callback-based resolver and the promise-
      based resolver is now ResolverBase. The other two user-facing
      resolvers are now subclasses of ResolverBase. The default
      Resolver is constructed with just ResolverBase. This would
      be fine as the default resolver is never actually exposed
      to the user-land and it has been working using duck-typing anyway.
    - Move the construction of Resolver subclasses into a common
      method `createResolverClass()` to reduce code duplication.
      The two subclasses now also share the same base constructor.
      This would make it possible for them to also share code
      for snapshot support later.
    - `--dns-result-order` is now queried and refreshed during
      pre-execution. To avoid loading the cares_wrap binding unnecessarily
      the loading of the binding is also made lazy.
    joyeecheung committed Sep 6, 2022
    Copy the full SHA
    3fb09a5 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2022

  1. Copy the full SHA
    61e6d55 View commit details
    Browse the repository at this point in the history