-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
P2Medium: Good to have, but can wait until someone steps upMedium: Good to have, but can wait until someone steps upexp/expertHaving worked on the specific codebase is importantHaving worked on the specific codebase is importantkind/maintenanceWork required to avoid breaking changes or harm to project's status quoWork required to avoid breaking changes or harm to project's status quo
Description
Description
In building rainbow I found that it was very difficult to just use the corehttp package as is for a number of reasons, so to get things functional I copy pasted the code out and macheted things into place. I would really like to not have two separate copies of that code, So I'm opening up this issue to track what work is needed to unify that (and generally make the gateway code be reuseable externally).
- Make the gateway handler not depend on the coreapi interface
- The coreapi interface is really difficult to satisfy, or even stub out. Its implementation is highly coupled and very complicated. In reality, the gateway only needs three methods on the whole thing:
ResolvePathGetandName().Resolve. - refactoring the corehttp code to take an interface with the bare minimum of methods needed is really critical here
- The coreapi interface is really difficult to satisfy, or even stub out. Its implementation is highly coupled and very complicated. In reality, the gateway only needs three methods on the whole thing:
- extract the corehttp package to a separate repo (go-libipfs?), so others dont have to import all of go-ipfs (Kubo)
- This will also help tease out other ways in which this package is coupled to the rest of the codebase (especially the 'assets' module, that imports the entire 'core' module)
- Remove the gateway code from Kubo and instead depend on go-libipfs
- Cleanup/archive old attempts at this like https://github.com/ipfs/go-ipfs-gateway
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2Medium: Good to have, but can wait until someone steps upMedium: Good to have, but can wait until someone steps upexp/expertHaving worked on the specific codebase is importantHaving worked on the specific codebase is importantkind/maintenanceWork required to avoid breaking changes or harm to project's status quoWork required to avoid breaking changes or harm to project's status quo