Skip to content

Commit

Permalink
Tweak connect notes
Browse files Browse the repository at this point in the history
  • Loading branch information
daviddenton committed Oct 1, 2024
1 parent a2fa10c commit 16c924f
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions src/website/content/ecosystem/connect.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,17 @@ dependencies {
}
```

<div class="github">
The main documentation has moved to the http4k Connect [site](https://connect.http4k.org)
</div>

## Supported APIs and Fakes:

See the [Module Reference](/ecosystem/http4k/module/) for the complete list of supported services.

<div class="github">
- [Example Template](./example) -> `"org.http4k:http4k-connect-example"` / `"org.http4k:http4k-connect-example-fake"`
</div>

### Want to add a new API Client or Storage backend?

Read the [guide](https://connect.http4k.org/contributing/).
## Want to add a new API Client or Storage backend?

### Notes for adding a new Client & Fake
- Use the `Example` project client and fake as a template module.
- The naming of the modules is: `http4k-connect-<vendor>-<system>`. We are also grouping the systems by vendor in directory structure. To add the modules in the right place in `settings.gradle.kts` use the functions provided.
- The work for adding other `http4k-connect` Gradle dependencies is already done in the core `build.gradle` file. You just need to add external dependencies into the module gradle file if there are any. If not, feel free to omit it.
- Fakes should extend `ChaoticHttpHandler`, which adds in the `misbehave()` and `behave()` functions to enable the Chaotic behaviour.
- Each Fake should implement the `FakeSystemContract`.
- Tests against external systems should be added wherever possible to prove the contracts are in place, or adding Docker* setup to run them. *This is work in progress.

### Notes for adding Storage implementations
- The naming of the modules is: `http4k-connect-storage-<type>`. To add the module in the right place in `settings.gradle.kts` use the function provided.
- There is a contract `StorageContract` to prove that the implementation.
- Testcontainers can be used to prove out testing for various storage backends

0 comments on commit 16c924f

Please sign in to comment.