mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-04 15:58:13 +08:00
feat(gateway): human error pages, dag-cbor/dag-json preview (#9904)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
This commit is contained in:
parent
67e1a173fc
commit
dfd244816a
@ -8,7 +8,8 @@
|
||||
- [🔦 Highlights](#-highlights)
|
||||
- [Saving previously seen nodes for later bootstrapping](#saving-previously-seen-nodes-for-later-bootstrapping)
|
||||
- [`Gateway.DeserializedResponses` config flag](#gatewaydeserializedresponses-config-flag)
|
||||
- [`client/rpc` migration of go-ipfs-http-client](#clientrpc-migration-of-go-ipfs-http-client)
|
||||
- [`client/rpc` migration of `go-ipfs-http-client`](#clientrpc-migration-of-go-ipfs-http-client)
|
||||
- [Gateway: DAG-CBOR/-JSON previews and improved error pages](#gateway-dag-cbor-json-previews-and-improved-error-pages)
|
||||
- [📝 Changelog](#-changelog)
|
||||
- [👨👩👧👦 Contributors](#-contributors)
|
||||
|
||||
@ -59,7 +60,7 @@ third-party CIDs.
|
||||
#### `client/rpc` migration of `go-ipfs-http-client`
|
||||
|
||||
The [`go-ipfs-http-client`](https://github.com/ipfs/go-ipfs-http-client) RPC has
|
||||
been migrated into [`client/rpc`](./client/rpc).
|
||||
been migrated into [`kubo/client/rpc`](../../client/rpc).
|
||||
|
||||
With this change the two will be kept in sync, in some previous releases we
|
||||
updated the CoreAPI with new Kubo features but forgot to port thoses to the
|
||||
@ -69,6 +70,20 @@ version.
|
||||
For smooth transition `v0.7.0` of `go-ipfs-http-client` provides updated stubs
|
||||
for Kubo `v0.21`.
|
||||
|
||||
#### Gateway: DAG-CBOR/-JSON previews and improved error pages
|
||||
|
||||
In this release, we improved the HTML templates of our HTTP gateway:
|
||||
|
||||
1. You can now preview the contents of a DAG-CBOR and DAG-JSON document from your browser, as well as follow any IPLD Links ([CBOR Tag 42](https://github.com/ipld/cid-cbor/)) contained within them.
|
||||
2. The HTML directory listings now contain [updated, higher-definition icons](https://user-images.githubusercontent.com/5447088/241224419-5385793a-d3bb-40aa-8cb0-0382b5bc56a0.png).
|
||||
3. On gateway error, instead of a plain text error message, web browsers will now get a friendly HTML response with more details regarding the problem.
|
||||
|
||||
HTML responses are returned when request's `Accept` header includes `text/html`.
|
||||
|
||||
| DAG-CBOR Preview | Error Page |
|
||||
| ---- | ---- |
|
||||
|  |  |
|
||||
|
||||
### 📝 Changelog
|
||||
|
||||
### 👨👩👧👦 Contributors
|
||||
|
||||
@ -7,7 +7,7 @@ go 1.18
|
||||
replace github.com/ipfs/kubo => ./../../..
|
||||
|
||||
require (
|
||||
github.com/ipfs/boxo v0.8.2-0.20230530175401-c23df3837fbe
|
||||
github.com/ipfs/boxo v0.8.2-0.20230531151409-d1b8d1d6d076
|
||||
github.com/ipfs/kubo v0.0.0-00010101000000-000000000000
|
||||
github.com/libp2p/go-libp2p v0.27.3
|
||||
github.com/multiformats/go-multiaddr v0.9.0
|
||||
|
||||
@ -321,8 +321,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
|
||||
github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230530175401-c23df3837fbe h1:H6ETX0d5BiNTd1XIK8VARmEn0hpYpYdKKKp3rUJBLjY=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230530175401-c23df3837fbe/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230531151409-d1b8d1d6d076 h1:jkmzkt/eRxC+tAOgUYOoQh50Bvfnun/Dy3n72tRSkmo=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230531151409-d1b8d1d6d076/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
|
||||
github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
|
||||
github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
|
||||
github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=
|
||||
|
||||
2
go.mod
2
go.mod
@ -16,7 +16,7 @@ require (
|
||||
github.com/gogo/protobuf v1.3.2
|
||||
github.com/google/uuid v1.3.0
|
||||
github.com/hashicorp/go-multierror v1.1.1
|
||||
github.com/ipfs/boxo v0.8.2-0.20230530175401-c23df3837fbe
|
||||
github.com/ipfs/boxo v0.8.2-0.20230531151409-d1b8d1d6d076
|
||||
github.com/ipfs/go-block-format v0.1.2
|
||||
github.com/ipfs/go-cid v0.4.1
|
||||
github.com/ipfs/go-cidutil v0.1.0
|
||||
|
||||
4
go.sum
4
go.sum
@ -356,8 +356,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
|
||||
github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230530175401-c23df3837fbe h1:H6ETX0d5BiNTd1XIK8VARmEn0hpYpYdKKKp3rUJBLjY=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230530175401-c23df3837fbe/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230531151409-d1b8d1d6d076 h1:jkmzkt/eRxC+tAOgUYOoQh50Bvfnun/Dy3n72tRSkmo=
|
||||
github.com/ipfs/boxo v0.8.2-0.20230531151409-d1b8d1d6d076/go.mod h1:Ej2r08Z4VIaFKqY08UXMNhwcLf6VekHhK8c+KqA1B9Y=
|
||||
github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
|
||||
github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
|
||||
github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY=
|
||||
|
||||
@ -349,7 +349,7 @@ test_native_dag () {
|
||||
# As this is generated, we don't return immutable Cache-Control, even on /ipfs (same as for dir-index-html)
|
||||
|
||||
test_expect_success "GET $name on /ipfs with Accept: text/html returns HTML (dag-index-html)" '
|
||||
curl -sD - -H "Accept: text/html" "http://127.0.0.1:$GWAY_PORT/ipfs/$CID" > curl_output 2>&1 &&
|
||||
curl -sD - -H "Accept: text/html" "http://127.0.0.1:$GWAY_PORT/ipfs/$CID/" > curl_output 2>&1 &&
|
||||
test_should_not_contain "Content-Disposition" curl_output &&
|
||||
test_should_not_contain "Cache-Control" curl_output &&
|
||||
test_should_contain "Etag: \"DagIndex-" curl_output &&
|
||||
@ -358,7 +358,7 @@ test_native_dag () {
|
||||
'
|
||||
|
||||
test_expect_success "GET $name on /ipns with Accept: text/html returns HTML (dag-index-html)" '
|
||||
curl -sD - -H "Accept: text/html" "http://127.0.0.1:$GWAY_PORT/ipns/$IPNS_ID" > curl_output 2>&1 &&
|
||||
curl -sD - -H "Accept: text/html" "http://127.0.0.1:$GWAY_PORT/ipns/$IPNS_ID/" > curl_output 2>&1 &&
|
||||
test_should_not_contain "Content-Disposition" curl_output &&
|
||||
test_should_not_contain "Cache-Control" curl_output &&
|
||||
test_should_contain "Etag: \"DagIndex-" curl_output &&
|
||||
|
||||
Loading…
Reference in New Issue
Block a user