From 61076df16a8d871d6658bd97ca7519b8c2a88c80 Mon Sep 17 00:00:00 2001 From: JaewonKil Date: Thu, 22 Jan 2026 18:43:56 +0900 Subject: [PATCH] #16: supporting ".{format}" placeholders @michael-simons Propose fix for supporting `.{format}` placeholders in oEmbed endpoint URLs --- src/main/java/ac/simons/oembed/OembedEndpoint.java | 4 ++-- src/test/java/ac/simons/oembed/OembedEndpointTests.java | 2 +- src/test/java/ac/simons/oembed/OembedServiceTests.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/ac/simons/oembed/OembedEndpoint.java b/src/main/java/ac/simons/oembed/OembedEndpoint.java index 3ffc9d3..5abb00c 100644 --- a/src/main/java/ac/simons/oembed/OembedEndpoint.java +++ b/src/main/java/ac/simons/oembed/OembedEndpoint.java @@ -272,8 +272,8 @@ public URI toApiUrl(final String url) { String uri; final List query = new ArrayList<>(); - if (this.getEndpoint().toLowerCase().contains("%{format}")) { - uri = this.getEndpoint().replaceAll(Pattern.quote("%{format}"), this.getFormat().toString()); + if (this.getEndpoint().toLowerCase().contains("{format}")) { + uri = this.getEndpoint().replaceAll(Pattern.quote("{format}"), this.getFormat().toString()); } else { uri = this.getEndpoint(); diff --git a/src/test/java/ac/simons/oembed/OembedEndpointTests.java b/src/test/java/ac/simons/oembed/OembedEndpointTests.java index d5ba600..bb5c19c 100644 --- a/src/test/java/ac/simons/oembed/OembedEndpointTests.java +++ b/src/test/java/ac/simons/oembed/OembedEndpointTests.java @@ -98,7 +98,7 @@ public void toApiUrlShouldWork() { assertThat(oembedEndpoint.toApiUrl("https://biking.michael-simons.eu/tracks/1")).hasToString( "https://biking.michael-simons.eu/oembed?format=json&url=https%3A%2F%2Fbiking.michael-simons.eu%2Ftracks%2F1&maxwidth=480&maxheight=360"); - oembedEndpoint.setEndpoint("https://api.twitter.com/1.1/statuses/oembed.%{format}"); + oembedEndpoint.setEndpoint("https://api.twitter.com/1.1/statuses/oembed.{format}"); oembedEndpoint.setFormat(Format.json); oembedEndpoint.setMaxWidth(null); oembedEndpoint.setMaxHeight(null); diff --git a/src/test/java/ac/simons/oembed/OembedServiceTests.java b/src/test/java/ac/simons/oembed/OembedServiceTests.java index 2aa54cd..f8a6c0d 100644 --- a/src/test/java/ac/simons/oembed/OembedServiceTests.java +++ b/src/test/java/ac/simons/oembed/OembedServiceTests.java @@ -184,7 +184,7 @@ public void findEndpointForShouldWorkAutodiscovery5() { @Test public void findEndpointForShouldWork() { OembedEndpoint vimeo = new OembedEndpoint(); - vimeo.setEndpoint("http://vimeo.com/api/oembed.%{format}"); + vimeo.setEndpoint("http://vimeo.com/api/oembed.{format}"); vimeo.setUrlSchemes(Arrays.asList("https?://vimeo.com/groups/.+/videos/\\d+", "https?://vimeo.com/channels/.+/\\d+", "https?://vimeo.com/\\d+"));