-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: new plugin architecture #169
base: main
Are you sure you want to change the base?
refactor: new plugin architecture #169
Conversation
So, gateway conformance lowered with this refactor.. it appears to only be the Main passing:--- PASS: TestGatewayBlock/GET_with_application%2Fvnd.ipld.raw_header_returns_expected_response_headers/Header_Content-Disposition (0.00s) Refactor passing:--- PASS: TestGatewayBlock/GET_with_application%2Fvnd.ipld.raw_header_and_filename_param_returns_expected_Content-Disposition_header_with_custom_filename/Header_Content-Disposition#01 (0.00s) Main passing that're failing in Refactor:--- PASS: TestGatewayBlock/GET_with_application%2Fvnd.ipld.raw_header_returns_expected_response_headers/Header_Content-Disposition (0.00s) |
working on handleDagPb conversion now and trying to resolve some failures |
After running all tests and adding in a custom logger function to track when we have competing plugins, i was able to accumulate a list of requests that result in more than a single plugin saying it can handle a request by running 2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae): RawPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://12D3KooWL6txHH6kGdcCS8K2Fo2wXHWTyindv7qnGKpG5QaPgzKp): IpnsRecordPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: http://k51qzi5uqu5dhnaev77otrn7hz63u3f5w4qp0vdk51joi03uk2ec0mvz8y1kj0.ipns.example.com): IpnsRecordPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: http://bafzaajaiaejcaov36oaxij3gujufrzgyzs7on67d5eyw7lubu4yb65tjnqybzebm.ipns.example.com): IpnsRecordPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae): CarPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: ipfs://bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae?filename=foo.bar): CarPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://12D3KooWRWovVvQmpmnxiHefG3Dos5AwTT1cAWvA7RneFvrB8wpM): IpnsRecordPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipfs://QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv): IpnsRecordPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://ipfs.io): IpnsRecordPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://12D3KooWN4r7uVAsm3KhrtE5Gm2nw3LVrXaCNF8cW72zrDgxGiBJ/hello): IpnsRecordPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: bafybeibuuntgv2exx7hwtkglha5slwahzyh6o5mveoma6ayzuyr2nsoeca): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae): RawPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://example.com/ipfs/bafkreietui4xdkiu4xvmx4fi2jivjtndbhb4drzpxomrjvd4mdz4w2avra?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae): RawPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://12D3KooWS4GYCM4j1ynj6MpFTfC5ZekVn58WRWBEJG6R57iQ6Pn7): IpnsRecordPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: http://k51qzi5uqu5dmi6jf10pjoyk9cwmcw3j6awaryt61pwm1p9edpalar7re3gsmz.ipns.example.com): IpnsRecordPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: http://bafzaajaiaejcb7ng7cnykkpwhepzsdnpaflvb4brv4tchghlncz6pc7emtnrwp73.ipns.example.com): IpnsRecordPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae): CarPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: ipfs://bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae?filename=foo.bar): CarPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://12D3KooWGJosrZZU3NLYqWe5GZKWZAB2DX7RhtedbqAb8MbX1scj): IpnsRecordPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipfs://QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv): IpnsRecordPlugin, DagPbPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://ipfs.io): IpnsRecordPlugin, DagPbPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipfs.ipns-record, resource: ipns://12D3KooWP2cQEr9UfxBJ6hGMfgP4NAGwMQp8T2qJJTzm3BmJ4kUh/hello): IpnsRecordPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/x-tar, resource: bafybeibuuntgv2exx7hwtkglha5slwahzyh6o5mveoma6ayzuyr2nsoeca): TarPlugin, DagPbPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae): RawPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://example.com/ipfs/bafkreietui4xdkiu4xvmx4fi2jivjtndbhb4drzpxomrjvd4mdz4w2avra?format=dag-json): JsonPlugin, DagCborPlugin +0ms
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafkreialihlqnf5uwo4byh4n3cmwlntwqzxxs2fg5vanqdi3d7tb2l5xkm?format=dag-json): JsonPlugin, DagCborPlugin
3 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafybeiafyvqlazbbbtjnn6how5d6h6l6rxbqc4qgpbmteaiskjrffmyy4a?format=dag-json): JsonPlugin, DagCborPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafkreialihlqnf5uwo4byh4n3cmwlntwqzxxs2fg5vanqdi3d7tb2l5xkm): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafkreialihlqnf5uwo4byh4n3cmwlntwqzxxs2fg5vanqdi3d7tb2l5xkm): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bagaaieraonzu3mlwidrcjnpqd2ibmjiiycnfucdzotvjq5ajubwnkmlzomrq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bagaaieraonzu3mlwidrcjnpqd2ibmjiiycnfucdzotvjq5ajubwnkmlzomrq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bagaaieraonzu3mlwidrcjnpqd2ibmjiiycnfucdzotvjq5ajubwnkmlzomrq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq/foo?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq/foo/link/bar?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?filename=foobar.json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?download=true&filename=foobar.json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipns/k51qzi5uqu5dhjghbwdvbo6mi40htrq6e2z4pwgp15pgv3ho1azvidttzh8yy2?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipns/k51qzi5uqu5dhjghbwdvbo6mi40htrq6e2z4pwgp15pgv3ho1azvidttzh8yy2): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir?format=raw): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir/ascii.txt): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir/ascii.txt?filename=foobar.bin): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir/ascii.txt): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeifaqksygmsbnqe76kwvxoqxtkzcwssq5jkhuo65ldtqiunr3bxlra?format=raw): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeifaqksygmsbnqe76kwvxoqxtkzcwssq5jkhuo65ldtqiunr3bxlra): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeihchr7vmgjaasntayyatmp5sv6xza57iy2h4xj7g46bpjij6yhrmy): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeihchr7vmgjaasntayyatmp5sv6xza57iy2h4xj7g46bpjij6yhrmy): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeihchr7vmgjaasntayyatmp5sv6xza57iy2h4xj7g46bpjij6yhrmy): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeihchr7vmgjaasntayyatmp5sv6xza57iy2h4xj7g46bpjij6yhrmy?format=car): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeidh6k2vzukelqtrjsmd4p52cpmltd2ufqrdtdg6yigi73in672fwu/subdir?dag-scope=all&format=car): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeidh6k2vzukelqtrjsmd4p52cpmltd2ufqrdtdg6yigi73in672fwu/subdir?dag-scope=all): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeidh6k2vzukelqtrjsmd4p52cpmltd2ufqrdtdg6yigi73in672fwu/subdir/multiblock.txt?dag-scope=all&format=car): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.car, resource: http://127.0.0.1:3441/ipfs/bafybeidh6k2vzukelqtrjsmd4p52cpmltd2ufqrdtdg6yigi73in672fwu/subdir/multiblock.txt?dag-scope=all): CarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/QmWvY6FaqFMS89YAQ9NAPjVP4WZKA1qbHbicc9HeSKQTgt?format=raw): RawPlugin, DagPbPlugin
3 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipns/k51qzi5uqu5dlxdsdu5fpuu7h69wu4ohp32iwm9pdt9nq3y5rpn3ln9j12zfhe/root2/root3/root4/?format=dag-json): JsonPlugin, DagCborPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeig6ka5mlwkl4subqhaiatalkcleo4jgnr3hqwvpmsqfca27cijp3i?format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeig6ka5mlwkl4subqhaiatalkcleo4jgnr3hqwvpmsqfca27cijp3i?filename=test%D1%82%D0%B5%D1%81%D1%82.tar&format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeicaj7kvxpcv4neaqzwhrqqmdstu4dhrwfpknrgebq6nzcecfucvyu?format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeibfevfxlvxp5vxobr5oapczpf7resxnleb7tkqmdorc4gl5cdva3y?format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafkreialihlqnf5uwo4byh4n3cmwlntwqzxxs2fg5vanqdi3d7tb2l5xkm?format=dag-json): JsonPlugin, DagCborPlugin
3 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafybeiafyvqlazbbbtjnn6how5d6h6l6rxbqc4qgpbmteaiskjrffmyy4a?format=dag-json): JsonPlugin, DagCborPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafkreialihlqnf5uwo4byh4n3cmwlntwqzxxs2fg5vanqdi3d7tb2l5xkm): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafkreialihlqnf5uwo4byh4n3cmwlntwqzxxs2fg5vanqdi3d7tb2l5xkm): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bagaaieraonzu3mlwidrcjnpqd2ibmjiiycnfucdzotvjq5ajubwnkmlzomrq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bagaaieraonzu3mlwidrcjnpqd2ibmjiiycnfucdzotvjq5ajubwnkmlzomrq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bagaaieraonzu3mlwidrcjnpqd2ibmjiiycnfucdzotvjq5ajubwnkmlzomrq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq/foo?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq/foo/link/bar?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?filename=foobar.json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?download=true&filename=foobar.json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/baguqeeram5ujjqrwheyaty3w5gdsmoz6vittchvhk723jjqxk7hakxkd47xq?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipns/k51qzi5uqu5dhjghbwdvbo6mi40htrq6e2z4pwgp15pgv3ho1azvidttzh8yy2?format=dag-json): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipns/k51qzi5uqu5dhjghbwdvbo6mi40htrq6e2z4pwgp15pgv3ho1azvidttzh8yy2): JsonPlugin, DagCborPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir?format=raw): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir/ascii.txt): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir/ascii.txt?filename=foobar.bin): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/vnd.ipld.raw, resource: http://127.0.0.1:3441/ipfs/bafybeie72edlprgtlwwctzljf6gkn2wnlrddqjbkxo3jomh4n7omwblxly/dir/ascii.txt): RawPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeig6ka5mlwkl4subqhaiatalkcleo4jgnr3hqwvpmsqfca27cijp3i?format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeig6ka5mlwkl4subqhaiatalkcleo4jgnr3hqwvpmsqfca27cijp3i?filename=test%D1%82%D0%B5%D1%81%D1%82.tar&format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeicaj7kvxpcv4neaqzwhrqqmdstu4dhrwfpknrgebq6nzcecfucvyu?format=tar): TarPlugin, DagPbPlugin
2 plugins that can handle request(accept header: application/x-tar, resource: http://127.0.0.1:3441/ipfs/bafybeibfevfxlvxp5vxobr5oapczpf7resxnleb7tkqmdorc4gl5cdva3y?format=tar): TarPlugin, DagPbPlugin
3 plugins that can handle request(accept header: application/vnd.ipld.dag-json, resource: http://127.0.0.1:3441/ipfs/bafybeib3ffl2teiqdncv3mkz4r23b5ctrwkzrrhctdbne6iboayxuxk5ui/root2/root3/root4/?format=dag-json): JsonPlugin, DagCborPlugin, DagPbPlugin cc @2color |
@2color i've got a non-order dependant plugin pipeline now, and a consolidation of the path-walking logic that both dag-cbor and dag-pb were using. |
FYI: gateway conformance has increased by a non-trivial amount with these changes. see |
Title
refactor: new plugin architecture
Description
Migrates the codebase to a new plugin architecture. See #167 for details
Fixes #167
Notes & open questions
Currently in draft but things are passing. There's a lot more work to do but this can give folks a good idea where things are heading.
Change checklist