Skip to content

Commit e4faf4c

Browse files
committed
Fixing links
1 parent 8cdd7c1 commit e4faf4c

File tree

11 files changed

+17
-111
lines changed

11 files changed

+17
-111
lines changed

htmltest.yml

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
IgnoreURLs: ["^.*js$", ".*.png$", ".*.svg$"]
21
IgnoreAltMissing: true
32
IgnoreAltEmpty: true
4-
IgnoreDirectoryMissingTrailingSlash: true
3+
IgnoreDirectoryMissingTrailingSlash: true
4+
IgnoreURLs:
5+
- "favicon.svg"
6+
- "^.*js$"
7+
- ".*.png$"
8+
- ".*.svg$"

src/website/content/ecosystem/connect.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ The main documentation has moved to the http4k Connect [site](https://connect.ht
5353

5454
## Supported APIs and Fakes:
5555

56-
See the [Module Reference](https://connect.http4k.org/ecosystem/http4k/module/) for the complete list of supported services.
56+
See the [Module Reference](/ecosystem/http4k/module/) for the complete list of supported services.
5757

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

src/website/content/ecosystem/http4k/concepts/http/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ In http4k, an HttpMessage is an immutable entity representing either a `Request`
1515

1616
This immutability is a powerful alternative to the mutable versions found in other web libraries, as it provides a exact record of the state of the messages as they travel through an HTTP application, so for debugging purposes you can time-travel through an application inspecting the exact state at any point in the stack.
1717

18-
Data class semantics for comparison also make HttpMessages incredibly simple to assert against in testing scenarios, and this ease of testing is one of the most important parts of the [http4k ethos](/guide/concepts/rationale).
18+
Data class semantics for comparison also make HttpMessages incredibly simple to assert against in testing scenarios, and this ease of testing is one of the most important parts of the [http4k ethos](/rationale).
1919

2020
### HttpHandler
2121

Original file line numberDiff line numberDiff line change
@@ -1,105 +1,7 @@
11
---
2-
---
32
layout: module
43
type: module
54
ecosystem: http4k Core
65
title: extension modules and integrations
76
description: Details about the various http4k integration libraries
87
---
9-
10-
---
11-
12-
# http4k Modules overview
13-
14-
### Core functionality
15-
<a href="/ecosystem/http4k/module/core"><span class="pill">Core</span></a>
16-
<a href="/ecosystem/http4k/module/multipart"><span class="pill">Multipart Forms</span></a>
17-
<a href="/ecosystem/http4k/module/config"><span class="pill">Typesafe Configuration</span></a>
18-
19-
### API styles
20-
<a href="/ecosystem/http4k/module/contracts"><span class="pill">OpenAPI Contracts</span></a>
21-
<a href="/ecosystem/http4k/module/graphql"><span class="pill">GraphQL</span></a>
22-
23-
### HTTP Server Backends
24-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Apache 4 & 5</span></a>
25-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Java-WebSocket</span></a>
26-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Jetty & JettyLoom</span></a>
27-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Helidon (Loom)</span></a>
28-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Ktor CIO & Netty</span></a>
29-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Netty</span></a>
30-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Ratpack</span></a>
31-
<a href="/ecosystem/http4k/module/servers"><span class="pill">SunHttp & SunHttpLoom</span></a>
32-
<a href="/ecosystem/http4k/module/servers"><span class="pill">Undertow</span></a>
33-
34-
### HTTP Serverless Backends
35-
<a href="/ecosystem/http4k/module/serverless"><span class="pill">Alibaba Function Compute</span></a>
36-
<a href="/ecosystem/http4k/module/serverless"><span class="pill">Apache OpenWhisk</span></a>
37-
<a href="/ecosystem/http4k/module/serverless"><span class="pill">AWS Lambda</span></a>
38-
<a href="/ecosystem/http4k/module/serverless"><span class="pill">Azure Functions</span></a>
39-
<a href="/ecosystem/http4k/module/serverless"><span class="pill">Google Cloud Functions</span></a>
40-
<a href="/ecosystem/http4k/module/serverless"><span class="pill">Tencent Serverless Cloud Functions</span></a>
41-
42-
### HTTP Clients
43-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Apache4 Sync & Async</span></a>
44-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Apache5 Sync & Async</span></a>
45-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Java</span></a>
46-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Fuel</span></a>
47-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Helidon</span></a>
48-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Jetty</span></a>
49-
<a href="/ecosystem/http4k/module/clients"><span class="pill">OkHttp</span></a>
50-
<a href="/ecosystem/http4k/module/clients"><span class="pill">Websocket</span></a>
51-
52-
### Messaging formats
53-
<a href="/ecosystem/http4k/module/json"><span class="pill">Argo</span></a>
54-
<a href="/ecosystem/http4k/module/dataframe"><span class="pill">DataFrame</span></a>
55-
<a href="/ecosystem/http4k/module/json"><span class="pill">Gson</span></a>
56-
<a href="/ecosystem/http4k/module/xml"><span class="pill">Gson XML</span></a>
57-
<a href="/ecosystem/http4k/module/json"><span class="pill">Jackson</span></a>
58-
<a href="/ecosystem/http4k/module/xml"><span class="pill">Jackson XML</span></a>
59-
<a href="/ecosystem/http4k/module/yaml"><span class="pill">Jackson YAML</span></a>
60-
<a href="/ecosystem/http4k/module/jsonrpc"><span class="pill">JSON RPC</span></a>
61-
<a href="/ecosystem/http4k/module/json"><span class="pill">Klaxon</span></a>
62-
<a href="/ecosystem/http4k/module/json"><span class="pill">KondorJson</span></a>
63-
<a href="/ecosystem/http4k/module/json"><span class="pill">KotlinX Serialisation
64-
<a href="/ecosystem/http4k/module/json"><span class="pill">Moshi</span></a>
65-
66-
### Templating libraries
67-
<a href="/ecosystem/http4k/module/templating"><span class="pill">Freemarker</span></a>
68-
<a href="/ecosystem/http4k/module/templating"><span class="pill">Handlebars</span></a>
69-
<a href="/ecosystem/http4k/module/templating"><span class="pill">Pug4j</span></a>
70-
<a href="/ecosystem/http4k/module/templating"><span class="pill">Rocker</span></a>
71-
<a href="/ecosystem/http4k/module/templating"><span class="pill">Pebble</span></a>
72-
<a href="/ecosystem/http4k/module/templating"><span class="pill">Thymeleaf</span></a>
73-
74-
### SDK integrations
75-
<a href="/ecosystem/http4k/module/aws"><span class="pill">AWS</span></a>
76-
<a href="/ecosystem/http4k/module/azure"><span class="pill">Azure</span></a>
77-
78-
### Security
79-
<a href="/ecosystem/http4k/module/digest"><span class="pill">Digest Auth</span></a>
80-
<a href="/ecosystem/http4k/module/oauth"><span class="pill">OAuth</span></a>
81-
82-
### Observability & Metrics
83-
<a href="/ecosystem/http4k/module/micrometer"><span class="pill">Micrometer</span></a>
84-
<a href="/ecosystem/http4k/module/opentelemetry"><span class="pill">OpenTelemetry</span></a>
85-
86-
### Web Technologies
87-
<a href="/ecosystem/http4k/module/htmx"><span class="pill">htmx</span></a>
88-
89-
### Cloud-Native/Misc
90-
<a href="/ecosystem/http4k/module/cloud_native"><span class="pill">Cloud Native extensions</span></a>
91-
<a href="/ecosystem/http4k/module/cloud_events"><span class="pill">Cloud Events</span></a>
92-
<a href="/ecosystem/http4k/module/resilience4j"><span class="pill">Resilience4J</span></a>
93-
<a href="/ecosystem/http4k/module/failsafe"><span class="pill">FailSafe</span></a>
94-
<a href="/ecosystem/http4k/module/webhooks"><span class="pill">Webhooks</span></a>
95-
96-
### Testing
97-
<a href="/ecosystem/http4k/module/approvaltests"><span class="pill">Approval Testing</span></a>
98-
<a href="/ecosystem/http4k/module/chaos"><span class="pill">Chaos Testing</span></a>
99-
<a href="/ecosystem/http4k/module/hamkrest"><span class="pill">Hamkrest</span></a>
100-
<a href="/ecosystem/http4k/module/kotest"><span class="pill">Kotest</span></a>
101-
<a href="/ecosystem/http4k/module/playwright"><span class="pill">Playwright</span></a>
102-
<a href="/ecosystem/http4k/module/strikt"><span class="pill">Strikt</span></a>
103-
<a href="/ecosystem/http4k/module/servicevirtualisation"><span class="pill">Servirtium</span></a>
104-
<a href="/ecosystem/http4k/module/webdriver"><span class="pill">WebDriver</span></a>
105-
<a href="/ecosystem/http4k/module/tracerbullet"><span class="pill">Tracer Bullet</span></a>

src/website/content/ecosystem/http4k/module/graphql/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dependencies {
2323
### About
2424
This module provides http4k integration for the excellent [GraphQL-java](https://www.graphql-java.com/) library, allowing you to either serve or consume [GraphQL] services using a simple adapter API.
2525

26-
As with the [ethos](/guide/concepts/rationale) of http4k, the uniform Server/Client GraphQLHandler model means that you can test applications entirely in-memory without binding to a port. Http4k also ships with a page serving the GraphQL playground which can be added as a simple route.
26+
As with the [ethos](/rationale) of http4k, the uniform Server/Client GraphQLHandler model means that you can test applications entirely in-memory without binding to a port. Http4k also ships with a page serving the GraphQL playground which can be added as a simple route.
2727

2828
#### Code
2929

src/website/content/howto/structure_your_logs_with_events/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Attaching metadata to an `Event` results in (compactified) JSON similar to this:
4141
}
4242
```
4343

44-
In harmony with the [ethos](/guide/concepts/rationale) of **http4k** there is no need to bring in a custom logging library such as SL4J, although they would be very simple to integrate if required by implementing a custom `Events` instance.
44+
In harmony with the [ethos](/rationale) of **http4k** there is no need to bring in a custom logging library such as SL4J, although they would be very simple to integrate if required by implementing a custom `Events` instance.
4545

4646
The example below shows a simple application that outputs structured logs to StdOut which can be analysed by an aggregator, along with the attachment of extra `Event` metadata via a custom `EventFilter`.
4747

src/website/content/news/documenting_apis_with_openapi/index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ There have been various efforts to standardise these aspects, and one of the mos
1818
### Typesafe HTTP contracts with http4k-contract
1919
http4k has supported generating version 2 of **[OpenApi]** docs since all the way back in 2017 (v1.16) via it's `http4k-contract` module, and after a couple of releases ironing out the niggles (and some amazing help from the community), the team is now happy to announce OpenApi3 support with the release of http4k version 3.179.0.
2020

21-
In line with the overall **[ethos of the project](/guide/concepts/rationale)**, http4k OpenApi support is done entirely through code and in a typesafe and refactorable way. This is somewhat of a departure from how most other libraries have implemented OpenApi (where often annotations and other compile-time magic are used) and means that in http4k the spec defined in code is the same one that is used to generate the API documentation and the same one used to validate incoming HTTP messages, meaning that it can never go stale. This focus on runtime code also allows for dynamic behaviours which would be very difficult to replicate at compile-time.
21+
In line with the overall **[ethos of the project](/rationale)**, http4k OpenApi support is done entirely through code and in a typesafe and refactorable way. This is somewhat of a departure from how most other libraries have implemented OpenApi (where often annotations and other compile-time magic are used) and means that in http4k the spec defined in code is the same one that is used to generate the API documentation and the same one used to validate incoming HTTP messages, meaning that it can never go stale. This focus on runtime code also allows for dynamic behaviours which would be very difficult to replicate at compile-time.
2222

2323
Out of the box, `http4k-contract` the module now provides the following features when configured for OpenApi3:
2424

@@ -105,4 +105,4 @@ The full source for this tutorial can be found **[here](https://github.com/http4
105105
[AWS API Gateway]: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html
106106
[Google Cloud Endpoints]: https://cloud.google.com/endpoints/docs/openapi/
107107
[http4k-by-example]: https://github.com/http4k/http4k-by-example
108-
[http4k Lens API]: https://www.http4k.org/ecosystem/http4k/module/core/#typesafe-parameter-destructuringconstruction-of-http-messages-with-lenses
108+
[http4k Lens API]: /ecosystem/http4k/module/core/#typesafe-parameter-destructuringconstruction-of-http-messages-with-lenses

src/website/content/news/http4k_v4/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Not wanting our users to miss out on anything, we've added support for simply in
9999
The [OpenTelemetry](https://opentelemetry.io/) project describes itself as...
100100
> **"... a collection of tools, APIs, and SDKs. You use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior." - OpenTelemetry.io**
101101
102-
It's a great project run by the CNCF and very well fits in with the [ethos](/guide/concepts/rationale) that the http4k team believes in. As with all http4k integration modules, we want to enable http4k developers to be able to plug in their apps as simply as possible - in this case, just configure the OpenTelemetry API or Java-agent, then just add some simple `Filters` to your code to start collecting Distributed Traces or Metrics. Several tracing schemes are supported, including Amazon XRay, Jaeger and Zipkin.
102+
It's a great project run by the CNCF and very well fits in with the [ethos](/rationale) that the http4k team believes in. As with all http4k integration modules, we want to enable http4k developers to be able to plug in their apps as simply as possible - in this case, just configure the OpenTelemetry API or Java-agent, then just add some simple `Filters` to your code to start collecting Distributed Traces or Metrics. Several tracing schemes are supported, including Amazon XRay, Jaeger and Zipkin.
103103

104104
For more docs on how to get it all working, head over to the [docs](/ecosystem/http4k/module/opentelemetry).
105105

src/website/content/performance.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Command-line JVM options, however, were tuned for the test to take advantage of
2424
The full implementation of the benchmark can be found [here](https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/Kotlin/http4k).
2525

2626
### Results - Round 22
27-
Overall, http4k continues to do well in this round of benchmarking, placing 48/159 - especially considering that the [ethos](/guide/concepts/rationale) of the library is one of excellent Developer experience over and above high-end performance (which tends to result in less friendly APIs).
27+
Overall, http4k continues to do well in this round of benchmarking, placing 48/159 - especially considering that the [ethos](/rationale) of the library is one of excellent Developer experience over and above high-end performance (which tends to result in less friendly APIs).
2828

2929
Rankings below are filtered for JVM libraries:
3030

src/website/layouts/partials/shared/ecosystem-sidebar.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ <h4>Concepts</h4>
2121
<li>
2222
<h4>Project</h4>
2323
<ul class="list-unstyled ms-3">
24-
<li><a href="/ecosystem/{{ $data.ref }}/changelog">Changelog</a></li>
24+
<li><a href="/ecosystem/{{ $data.ref }}/changelog/">Changelog</a></li>
2525
<li><a href="{{ $data.github }}">GitHub</a></li>
2626
<li><a href="{{ $data.github }}/issues">Issue Tracker</a></li>
2727
</ul>

testLinks.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

22
cd src/website/public
3-
cp -R ../../../htmltest.yml .
4-
docker run -v $(pwd):/test --rm wjdp/htmltest . -l 1 -s
3+
cp ../../../htmltest.yml $(pwd)
4+
docker run -v $(pwd):/test --rm wjdp/htmltest . -l 3 | grep -v svg | grep -v js | grep -v png
55
cd -

0 commit comments

Comments
 (0)