# @theorchard/datasource-ows

## 4.1.0

### Minor Changes

-   OWS error parsing util

## 4.0.2

### Patch Changes

-   SEC: lodash from 4.17.23 to 4.18.1

## 4.0.1

### Patch Changes

-   SEC: lodash-es from 4.17.23 to 4.18.1

## 4.0.0

Note: `@theorchard/jwt-service-handler` must be installed separately.

### Major Changes

-   jwt-service-handler moved to peer dependency

## 3.0.1

### Patch Changes

-   Migrate lodash dependency to lodash-es

## 3.0.0

### Major Changes

-   GQL-323 Stop sending exceptions to Sentry automatically for every error. This should be up to the client because we are currently flooding our Sentry with reasonable errors about 400s, 401s, 403s.
-   Remove @sentry/node as peer dependency/dev dependency

## 2.8.3

### Patch Changes

-   Bump lodash to 4.17.23 to fix vulnerabilities
-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.6.3

## 2.8.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.6.2

## 2.8.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.6.0

## 2.8.0

### Minor Changes

-   Bump @apollo/server and @sentry/node to match graphql-server

## 2.7.5

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.5.1

## 2.7.4

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.5.0

## 2.7.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.4.0

## 2.7.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/utils-environment@1.1.0
    -   @theorchard/jwt-service-handler@4.3.2

## 2.7.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.6.0
    -   @theorchard/utils-environment@1.0.18
    -   @theorchard/jwt-service-handler@4.3.1

## 2.7.0

### Minor Changes

-   Move @apollo/server dependency to peer-dependency

## 2.6.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.3.0

## 2.6.0

### Minor Changes

-   Updated dependencies
    -   @apollo/server@4.11.1

## 2.5.19

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.2.2

## 2.5.18

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.5.0
    -   @theorchard/utils-environment@1.0.17
    -   @theorchard/jwt-service-handler@4.2.1

## 2.5.17

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.2.0

## 2.5.16

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.1.0

## 2.5.15

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.0.6

## 2.5.14

### Patch Changes

-   Move @apollo/server from dev dependencies to prod dependencies

## 2.5.13

### Patch Changes

-   Updated dependencies
    -   @apollo/server@4.10.4

## 2.5.12

### Patch Changes

-   set the content-type and accept headers in the beforeSend

## 2.5.11

### Patch Changes

-   Updated dependencies
    -   graphql@16.8.1

## 2.5.10

### Patch Changes

-   @theorchard/utils-environment@1.0.16
-   @theorchard/jwt-service-handler@4.0.5

## 2.5.9

### Patch Changes

-   @theorchard/utils-environment@1.0.15
-   @theorchard/jwt-service-handler@4.0.4

## 2.5.8

### Patch Changes

-   @theorchard/utils-environment@1.0.14
-   @theorchard/jwt-service-handler@4.0.3

## 2.5.7

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.4.1
    -   @theorchard/utils-environment@1.0.13
    -   @theorchard/jwt-service-handler@4.0.2

## 2.5.6

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.4.0
    -   @theorchard/utils-environment@1.0.12
    -   @theorchard/jwt-service-handler@4.0.1

## 2.5.5

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@4.0.0

## 2.5.4

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@3.0.0

## 2.5.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.3.1
    -   @theorchard/utils-environment@1.0.11
    -   @theorchard/jwt-service-handler@2.1.1

## 2.5.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@2.1.0

## 2.5.1

### Patch Changes

-   Remove unnecessary TS declaration that causes consumers to require DOM in their tsconfig lib compiler options

## 2.5.0

### Minor Changes

-   Add `number` and `boolean` as valid values for request parameters

## 2.4.0

### Minor Changes

-   Change log level to debug to stop spamming datadog

## 2.3.0

### Minor Changes

-   Restore request deduplication logic to match 1.x version

    This relates to the first breaking change in these release notes: https://github.com/apollographql/datasource-rest/blob/main/CHANGELOG.md#major-changes
    and the related PR: https://github.com/apollographql/datasource-rest/pull/100

    @apollographql/datasource-rests' new default behaviour is to only deduplicate requests if the second one occurs while the first one is still executing.

    For example:

    -   Request A starts
    -   Request B starts (Deduplicated to A)
    -   Request A ends, resolving both A & B requests
    -   Request C starts
    -   Request C ends

    In particular, when two GET requests to the same URL are made within the context of a single GraphQL request, we deduplicate them, regardless of when the two requests occur relative to eachother.

    For example:

    -   Request A starts
    -   Request B starts (Deduplicated to A)
    -   Request A ends, resolving both A & B requests
    -   Request C starts, is resolved immediately with the response to A

    Additionally, a PATCH/PUT/POST/etc. request will invalidate any cached GET response for the same URL:

    -   Request A starts
    -   Request B starts (Deduplicated to A)
    -   Request A ends, resolving both A & B requests
    -   Request C starts, which is a PUT to the endpoint, invalidating cache
    -   Request C ends
    -   Request D starts, which is a GET to the endpoint. This is not deduplicated
    -   Request D ends

## 2.2.4

### Patch Changes

-   Change URL sanitization log level to debug

## 2.2.3

### Patch Changes

-   Deduplicated requests are now hidden from the request log output.

## 2.2.2

### Patch Changes

-   DOC-468: Re-export custom jest matchers

## 2.2.1

### Patch Changes

-   HOTFIX: Remove the matchers from being included as part of datasource-ows; this has the implication of matcher not being usable yet.

## 2.2.0

### Minor Changes

-   Add custom matcher to perform jest expectations on sanitized strings

## 2.1.0

### Minor Changes

-   Adds option "returnNullFor404" to always return null from GET requests on 404.

## 2.0.5

### Patch Changes

-   Fix broken request logging caused by separate context references in the plugin and datasource instance.

## 2.0.4

### Patch Changes

-   Simplified types for headers

## 2.0.3

### Patch Changes

-   Fix the order of execution when parsing url params.

## 2.0.2

### Patch Changes

-   Fix broken array serialization in urls since v2 of this library. If you pass an object with an array parameter, it will now be serialized into multiple url param values (the old behavior). e.g.

    ```ts
    const params = { countries: ['EN', 'BR'] };

    get('test.com', { params });
    // => test.com?countries=EN&countries=BR
    ```

    If you want to serialize arrays as a single url param, use an `URLSearchParams` instance:

    ```ts
    const params = new URLSearchParams();
    params.append('countries', ['EN', 'BR']);

    datasource.get('test.com', { params });
    // => test.com?countries=[EN,BR]
    ```

## 2.0.1

### Patch Changes

-   Fix bug in the mocked response logic.

## 2.0.0

### Major Changes

-   Works with the new Apollo server v4 version of graphql-server.

## 1.3.0

### Minor Changes

-   adds the Referer header to the list of headers passed through graphql requests

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.3.0
    -   @theorchard/jwt-service-handler@1.1.2

## 1.2.4

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.2.1
    -   @theorchard/jwt-service-handler@1.1.1

## 1.2.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@1.1.0

## 1.2.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.1.1
    -   @theorchard/jwt-service-handler@1.0.14

## 1.2.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/constants@1.1.0
    -   @theorchard/jwt-service-handler@1.0.13

## 1.2.0

### Minor Changes

-   Add sanitize exports

## 1.1.0

### Minor Changes

-   Add `sanitize` util
-   All REST methods now take a `SanitizedString | string` for the URL
-   All REST methods now log a warning message when a `string` is used for the URL
-   `OwsDataSource` now takes a type parameter for context, allowing for additional context field use in subclasses

## 1.0.32

### Patch Changes

-   @theorchard/jwt-service-handler@1.0.12

## 1.0.31

### Patch Changes

-   @theorchard/jwt-service-handler@1.0.11

## 1.0.30

### Patch Changes

-   @theorchard/jwt-service-handler@1.0.10

## 1.0.29

### Patch Changes

-   Use shared constants from the new constants libraries.
-   Updated dependencies
    -   @theorchard/graphql-constants@1.0.0
    -   @theorchard/constants@1.0.0
    -   @theorchard/jwt-service-handler@1.0.9

## 1.0.28

### Patch Changes

-   Added "Orchard-Profile-UUID" header support

## 1.0.27

### Patch Changes

-   @theorchard/jwt-service-handler@1.0.8

## 1.0.26

### Patch Changes

-   @theorchard/jwt-service-handler@1.0.7

## 1.0.25

### Patch Changes

-   Updated dependencies [undefined]
    -   @theorchard/identity@1.0.1

## 1.0.24

### Patch Changes

-   Fixes a bug in requestLoggingPlugin where the same requests where logged multiple times.

## 1.0.23

### Patch Changes

-   Updated dependencies []
    -   @theorchard/jwt-service-handler@1.0.6

## 1.0.22

### Patch Changes

-   Updated JSON output and log level for prod inside requestLoggingPlugin

## 1.0.21

### Patch Changes

-   Updated JSON output for prod inside requestLoggingPlugin

## 1.0.20

### Patch Changes

-   Updated requestLoggingPlugin library

## 1.0.19

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@1.0.5

## 1.0.18

### Patch Changes

-   Fix global Request and Response types

## 1.0.17

### Patch Changes

-   Add missing cacheOptions property

## 1.0.16

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@1.0.4

## 1.0.15

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@1.0.3

## 1.0.14

### Patch Changes

-   Updated dependencies
    -   @theorchard/jwt-service-handler@1.0.2

## 1.0.13

### Patch Changes

-   Move serviceName and requestorName validation to constructor

## 1.0.12

### Patch Changes

-   Remove automatic legacy headers conversion

## 1.0.11

### Patch Changes

-   Do not forward aut header on HMAC tokens

## 1.0.10

### Patch Changes

-   Add request logger

## 1.0.9

### Patch Changes

-   Improve JWT handling
-   Updated dependencies
    -   @theorchard/jwt-service-handler@1.0.1

## 1.0.8

### Patch Changes

-   Refactors identity headers in the apollo context.
-   Updated dependencies
    -   @theorchard/identity@1.0.0

## 1.0.7

### Patch Changes

-   Exported methods: setUpstreamHeaders, getUpstreamHeaders

## 1.0.6

### Patch Changes

-   Add response error to didLogResponse callback

## 1.0.5

### Patch Changes

-   Fixes bug with not implicitly including legacy GRASS headers.

## 1.0.4

### Patch Changes

-   Wrap patch method

## 1.0.3

### Patch Changes

-   Fix "Body" type

## 1.0.2

### Patch Changes

-   Refactored using proper event handlers and reuse existing types.

## 1.0.1

### Patch Changes

-   Removed FieldValidator util

## 1.0.0

-   Initial commit
