Skip to content

Commit cd8ad43

Browse files
authored
Hide HttpHeaders.toMultiMap API (Azure#24428)
1 parent 5ceab7e commit cd8ad43

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

sdk/core/azure-core-http-netty/src/main/java/com/azure/core/http/netty/implementation/NettyToAzureCoreHttpHeadersWrapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,7 @@ public Map<String, String> toMap() {
130130
return abstractMap;
131131
}
132132

133-
@Override
134-
public Map<String, String[]> toMultiMap() {
133+
Map<String, String[]> toMultiMap() {
135134
if (abstractMultiMap == null) {
136135
abstractMultiMap = new DeferredCacheImmutableMap<>(LOGGER, new HashMap<>(), nettyHeaders,
137136
getAll -> getAll.toArray(new String[0]));

sdk/core/azure-core/src/main/java/com/azure/core/http/HttpHeaders.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ public Map<String, String> toMap() {
250250
*
251251
* @return the headers in a copied and unmodifiable form.
252252
*/
253-
public Map<String, String[]> toMultiMap() {
253+
Map<String, String[]> toMultiMap() {
254254
final Map<String, String[]> result = new HashMap<>();
255255
for (final HttpHeader header : headers.values()) {
256256
result.put(header.getName(), header.getValues());

sdk/core/azure-core/src/main/java/com/azure/core/http/rest/RestProxy.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,16 @@ static Flux<ByteBuffer> validateLength(final HttpRequest request) {
201201
* @return The updated context containing the span context.
202202
*/
203203
private Context startTracingSpan(Method method, Context context) {
204-
boolean disableTracing = (boolean) context.getData(Tracer.DISABLE_TRACING_KEY).orElse(false);
205-
if (!TracerProxy.isTracingEnabled() || disableTracing) {
204+
// First check if tracing is enabled. This is an optimized operation, so it is done first.
205+
if (!TracerProxy.isTracingEnabled()) {
206206
return context;
207207
}
208+
209+
// Then check if this method disabled tracing. This requires walking a linked list, so do it last.
210+
if ((boolean) context.getData(Tracer.DISABLE_TRACING_KEY).orElse(false)) {
211+
return context;
212+
}
213+
208214
String spanName = interfaceParser.getServiceName() + "." + method.getName();
209215
context = TracerProxy.setSpanName(spanName, context);
210216
return TracerProxy.start(spanName, context);

0 commit comments

Comments
 (0)