Merge branch '6.2.x'
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2024 the original author or authors.
|
* Copyright 2002-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -496,8 +496,7 @@ abstract class RfcUriParser {
|
|||||||
// Component capture
|
// Component capture
|
||||||
|
|
||||||
public InternalParser resolveIfOpaque() {
|
public InternalParser resolveIfOpaque() {
|
||||||
boolean hasSlash = (this.uri.indexOf('/', this.index + 1) == -1);
|
this.isOpaque = (this.uri.charAt(this.index) != '/' && !hierarchicalSchemes.contains(this.scheme));
|
||||||
this.isOpaque = (hasSlash && !hierarchicalSchemes.contains(this.scheme));
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2024 the original author or authors.
|
* Copyright 2002-2025 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -155,6 +155,19 @@ class UriComponentsBuilderTests {
|
|||||||
assertThat(result.toUri()).as("Invalid result URI").isEqualTo(uri);
|
assertThat(result.toUri()).as("Invalid result URI").isEqualTo(uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParameterizedTest // see gh-34588
|
||||||
|
@EnumSource
|
||||||
|
void fromOpaqueUriWithUrnScheme(ParserType parserType) {
|
||||||
|
URI uri = UriComponentsBuilder
|
||||||
|
.fromUriString("urn:text:service-{region}:{prefix}/{id}", parserType).build()
|
||||||
|
.expand("US", "prefix1", "Id-2")
|
||||||
|
.toUri();
|
||||||
|
|
||||||
|
assertThat(uri.getScheme()).isEqualTo("urn");
|
||||||
|
assertThat(uri.isOpaque()).isTrue();
|
||||||
|
assertThat(uri.getSchemeSpecificPart()).isEqualTo("text:service-US:prefix1/Id-2");
|
||||||
|
}
|
||||||
|
|
||||||
@ParameterizedTest // see gh-9317
|
@ParameterizedTest // see gh-9317
|
||||||
@EnumSource
|
@EnumSource
|
||||||
void fromUriEncodedQuery(ParserType parserType) {
|
void fromUriEncodedQuery(ParserType parserType) {
|
||||||
|
|||||||
Reference in New Issue
Block a user