Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Escaping API inconsistencies

Offen
#1,577 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
45/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java
Bereich
api

Rechercherichtung

Beginne damit, die expositionFormats.findWriter API, die write-Methode des Writers und die Verwendungen von EscapingScheme.fromAcceptHeader im Java-Client nachzuverfolgen. Vergleiche, wie gecachte Writer behandelt werden, und bestimme, wie die API vermeiden kann, zwei potenziell unterschiedliche Header zu akzeptieren; als erledigt gilt die Aufgabe, wenn die vorgeschlagene Verwendung konsistent ist, ohne das Writer-Caching zu verlieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

If I understand correctly, this is approximately how I should produce an output:

expositionFormats.findWriter(accept)
    .write(System.out, registry.scrape(), EscapingScheme.fromAcceptHeader(accept));

The problem with this is that the API forces me to pass the accept header twice, so theoretically I can do this:

expositionFormats.findWriter(acceptHeaderOne)
    .write(System.out, registry.scrape(), EscapingScheme.fromAcceptHeader(acceptHeaderTwo));

Which can lead to inconsistencies, it is easy to misuse the API.
I'm wondering if something like this would make sense:

expositionFormats.findWriter(accept).write(System.out, registry.scrape());

and the writer would have the EscapingScheme.
The writer still can be cached but it would be a little more than today.

Vorherrschende Sprache
Java
Sterne
2.3k
Forks
833
Ø Merge
2 T. 16 Std.
Gemergte PRs (30 T.)
86

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus prometheus/client_java

Alle Issues in prometheus/client_java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.