question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Internal APIs currently needed for several significant use-cases

See original GitHub issue

First, thanks for the creating this awesome library!

There are a few use-cases which seem to be difficult to implement without access to APIs that are currently designated as “internal”.

Decorated HTTP plugins

The decorator pattern would be a natural choice for those wishing to modify the default http behavior in new ways without completely re-implementing it. However, as far as I can tell, once you replace the default http plugin, there isn’t a good way to delegate to it from the decorator.

Implementing the server-side of pack upload/download

Most of the pieces already exist in isomorphic-git for a client to use the library to implement a git server supporting pushing/pulling changes. I have a prototype which supports git clone over WebRTC which required very little glue code - the main new piece was an ‘side-band-64k’ protocol implementation based on the commented code already present in isomorphic-git.

Unfortunately, this already required access to several internal parts of isomorphic-git (uploadPack, GitPktLine, collect, parseUploadPackRequest, listObjects), without which I would have had to duplicate a great deal more code.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:3
  • Comments:17 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
jcubiccommented, Oct 7, 2022

You don’t need to apologize, the PR are merged pretty fast, so if someone have a feature implemented it’s included with the main repo, and releases are automated. I only need to merge, which I can do even on my phone, which I’m using right now.

If you want to contribute that would be great, you are free to implement the feature as you want we only need to agree on the API, that need to match to the rest of the project.

1reaction
dionysiusmarquiscommented, May 17, 2020

Git request/response tunneled as stream would be heartwarming. I was just looking for a way to implement decentralized git for libp2p

Read more comments on GitHub >

github_iconTop Results From Across the Web

Best Practices for Managing Internal APIs - NGINX
Best Practices for Managing Internal APIs · Operational Efficiency · Development of a System of Record · Cost Savings · Use an API...
Read more >
The Value of Internal APIs - Medium
These currently represent the vast majority of use cases. Internal APIs are often overlooked since they are aimed at in-house developers.
Read more >
What to Consider When Building Internal APIs | Linx Software
These currently represent the vast majority of use cases. Internal APIs are often overlooked since they are aimed at in-house developers.
Read more >
Internal vs External APIs: Does it matter? - WaveMaker
The majority of enterprises consume more internal APIs than external ones. API management is essential for both internal as well as external ...
Read more >
Four Case Studies for Implementing Real-Time APIs - InfoQ
Modern systems can consist of multiple internal API calls among microservices; slow-performing API infrastructure can degrade service levels ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found