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

New Request Pipeline #1795

Merged
merged 62 commits into from
Oct 10, 2018
Merged

New Request Pipeline #1795

merged 62 commits into from
Oct 10, 2018

Commits on Sep 27, 2018

  1. Revert "Make it more clear that generateClientInfo is an experiment…

    …al API."
    
    This reverts commit 6d6c9ff.
    abernix committed Sep 27, 2018
    Configuration menu
    Copy the full SHA
    03a894d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    68c82e6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2b470e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    38e7b6a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a09d514 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    358b348 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    faf1494 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4924832 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7fbf35c View commit details
    Browse the repository at this point in the history
  10. Allow an optional function to resolve the rootValue (#1555)

    * Allow an optional function to resolve the rootValue
    
    Passes the parsed DocumentNode AST to determine the root value,
    useful when providing a different rootValue for query vs mutation
    
    * Add API docs for rootValue
    tgriesser authored and abernix committed Sep 27, 2018
    Configuration menu
    Copy the full SHA
    261994c View commit details
    Browse the repository at this point in the history
  11. Provide ability to specify client info in traces (#1631)

    * Provide ability to specify client info in traces
    
    Adds the createClientInfo to apollo-engine-reporting, which enables the
    differentiation of clients based on the request, operation, and
    variables. This could be extended to include the response. However for
    the first release. It doesn't quite make sense.
    
    * Use extensions and context in createClientInfo
    
    * Remove support for clientAddress
    
    The frontend will not support it in the near future
    
    * create -> generate and make default generator
    
    createClientInfo -> generateClientInfo
    
    * Clarify default values
    evans authored and abernix committed Sep 27, 2018
    Configuration menu
    Copy the full SHA
    81c4642 View commit details
    Browse the repository at this point in the history
  12. Make it more clear that generateClientInfo is an experimental API.

    The `generateClientInfo` API, used to set client identification attributes
    within traces, is an experimental API and is subject to removal or change in
    a future (major) Apollo Server release.
    
    Ref: #1631
    abernix committed Sep 27, 2018
    Configuration menu
    Copy the full SHA
    b90ccc2 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2018

  1. Configuration menu
    Copy the full SHA
    e2a22b2 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2018

  1. Remove posttest npm script from package.json to avoid linting on …

    …tests.
    
    The linting will happen in CircleCI.  Additionally, we already have
    post-commit hooks so doing linting on every test run seems to just be
    generally slowing down development since any linting problems are
    automatically fixed when I do a commit.
    abernix committed Oct 2, 2018
    Configuration menu
    Copy the full SHA
    7c2fa2d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba0066e View commit details
    Browse the repository at this point in the history
  3. Fix context and rootValue types in GraphQLServerOptions

    The ability to pass in functions or promises shouldn't affect the type variable.
    martijnwalraven committed Oct 2, 2018
    Configuration menu
    Copy the full SHA
    7493077 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2018

  1. Import specifically createHash, rather than * as crypto from `cry…

    …pto`.
    
    This silences the deprecation messages which have been showing up in recent
    local development on the new request pipeline work.  e.g.:
    
    > ```
    > [DEP0010] DeprecationWarning: crypto.createCredentials is deprecated.
    >   Use tls.createSecureContext instead.
    > [DEP0011] DeprecationWarning:
    >   crypto.Credentials is deprecated. Use tls.SecureContext instead.
    > ```
    abernix committed Oct 4, 2018
    Configuration menu
    Copy the full SHA
    f1bc734 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    98d4fc3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    94a146a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1ec383d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2479473 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2018

  1. Configuration menu
    Copy the full SHA
    891d629 View commit details
    Browse the repository at this point in the history
  2. Fix typing of context property in GraphQLServerOptions

    The actual resolving of the context happens in ApolloServer#graphQLServerOptions, but errors thrown while doing that are currently converted to a throwing function.
    martijnwalraven committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    d80209e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    07a9493 View commit details
    Browse the repository at this point in the history
  4. Import specifically createHash, rather than * as crypto from `cry…

    …pto`.
    
    This silences the deprecation messages which have been showing up in recent
    local development on the new request pipeline work.  e.g.:
    
    > ```
    > [DEP0010] DeprecationWarning: crypto.createCredentials is deprecated.
    >   Use tls.createSecureContext instead.
    > [DEP0011] DeprecationWarning:
    >   crypto.Credentials is deprecated. Use tls.SecureContext instead.
    > ```
    abernix authored and martijnwalraven committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    68f50cd View commit details
    Browse the repository at this point in the history
  5. Fix cacheControl property in Config and GraphQLServerOptions

    While cacheControl can take a boolean when passing it in  to ApolloServer as part of a Config, these will be converted to default options before passing them on as options.
    martijnwalraven committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    8746358 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6ea8240 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d7d7b0b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    aeabb86 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f051c7c View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2018

  1. Merge remote-tracking branch 'origin/typescript-project-references' i…

    …nto abernix/re-new-request-pipeline
    martijnwalraven committed Oct 6, 2018
    Configuration menu
    Copy the full SHA
    282ea7e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    482a320 View commit details
    Browse the repository at this point in the history
  3. Simplify plugin API and fix circular dependency issues

    We compile `requestPipelineAPI.ts` as a separate TypeScript project to avoid circular dependency issues from the `apollo-server-plugin-base` package depending on the types in `apollo-server-core`.
    martijnwalraven committed Oct 6, 2018
    Configuration menu
    Copy the full SHA
    e928adf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    231c7f1 View commit details
    Browse the repository at this point in the history
  5. Fix failing tests by passing in structured engine apiKey

    Since activating the EngineReportingAgent is now dependent on being able to extract an engineServiceId from the API key, tests need to specify one that follows the expected structure.
    martijnwalraven committed Oct 6, 2018
    Configuration menu
    Copy the full SHA
    f4d3a37 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2018

  1. Configuration menu
    Copy the full SHA
    5281f3f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    10e12e8 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2018

  1. Configuration menu
    Copy the full SHA
    ba61960 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c28e3e2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f11914a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a12673a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f3e46ca View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    00e9838 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    428430c View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2018

  1. Configuration menu
    Copy the full SHA
    b571541 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7c9a6d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    02b645b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f4234ca View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    960810c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5b1760d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e40f4a2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    59bc1c9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0f6594a View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2018

  1. Configuration menu
    Copy the full SHA
    cea6404 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f942af7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3fab039 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b4863f6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4400ac View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    17ed84d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e4d672c View commit details
    Browse the repository at this point in the history
  8. Pass the context request and response extension methods (#1547)

    * Pass the context along to all the extension methods
    
    Addresses #1343
    
    With this change you should now be able to implement an extension like so:
    
    ```javascript
    class MyErrorTrackingExtension extends GraphQLExtension {
        willSendResponse(o) {
            const { context, graphqlResponse } = o
    
            context.trackErrors(graphqlResponse.errors)
    
            return o
        }
    }
    ```
    
    Edit by @evans :
    fixes #1343
    fixes #614 as the request object can be taken from context or from requestDidStart
    fixes #631 ""
    
    * Remove context from extra extension functions
    
    The context shouldn't be necessary for format, parse, validation, and
    execute. Format generally outputs the state of the extension. Parse and
    validate don't depend on the context. Execution includes the context
    argument as contextValue
    
    * Move change entry under vNext
    Whoaa512 authored and abernix committed Oct 10, 2018
    Configuration menu
    Copy the full SHA
    84bc834 View commit details
    Browse the repository at this point in the history
  9. Follow-up un-reverted work to maintain support in the new request pip…

    …eline.
    
    Prior to embarking on the request pipeline work, and to facilitate
    development on the new request pipeline, @martijnwalraven and myself
    intentionally reverted some commits that had been recently introduced but
    conflicted with the request pipeline branch that was already in-flight.
    
    Rather than dealing with an incredibly difficult merge conflict, it was
    easier to revert them an re-apply them later.
    
    Original commits, reversions, and reintroductions:
    
    * 6d6c9ff, 03a894d, b90ccc2
    * 96af44e, 68c82e6, 81c4642
    * 408198e, 2b470e1, 84bc834
    * 4175f1b, 38e7b6a, 261994c
    
    As is demonstrated by this short follow-up commit, this was all that was
    necessary to make it work in the new model - once that model was finished.
    
    While we're certain that the new request pipeline and its plugin model will
    actually better support some of the behavior that required these initial
    commits in the name of not introducing breaking changes, we feel it's
    necessary to maintain their support.
    
    I will point out, if you are at all affected by the above commits, we may
    consider deprecating portions of those APIs in the not too distant future,
    but we hope that the new model will help support those needs even better.
    abernix committed Oct 10, 2018
    Configuration menu
    Copy the full SHA
    9089cc5 View commit details
    Browse the repository at this point in the history