public class org.springframework.http.codec.ServerSentEventHttpMessageWriter implements org.springframework.http.codec.HttpMessageWriter<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.http.codec.ServerSentEventHttpMessageWriter
super_class: java.lang.Object
{
private static final org.springframework.http.MediaType DEFAULT_MEDIA_TYPE;
descriptor: Lorg/springframework/http/MediaType;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.List<org.springframework.http.MediaType> WRITABLE_MEDIA_TYPES;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lorg/springframework/http/MediaType;>;
private final org.springframework.core.codec.Encoder<?> encoder;
descriptor: Lorg/springframework/core/codec/Encoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/springframework/core/codec/Encoder<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new org.springframework.http.MediaType
dup
ldc "text"
ldc "event-stream"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial org.springframework.http.MediaType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;)V
putstatic org.springframework.http.codec.ServerSentEventHttpMessageWriter.DEFAULT_MEDIA_TYPE:Lorg/springframework/http/MediaType;
1: getstatic org.springframework.http.MediaType.TEXT_EVENT_STREAM:Lorg/springframework/http/MediaType;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
putstatic org.springframework.http.codec.ServerSentEventHttpMessageWriter.WRITABLE_MEDIA_TYPES:Ljava/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial org.springframework.http.codec.ServerSentEventHttpMessageWriter.<init>:(Lorg/springframework/core/codec/Encoder;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
public void <init>(org.springframework.core.codec.Encoder<?>);
descriptor: (Lorg/springframework/core/codec/Encoder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.http.codec.ServerSentEventHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 3 1 encoder Lorg/springframework/core/codec/Encoder<*>;
Signature: (Lorg/springframework/core/codec/Encoder<*>;)V
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
encoder
public org.springframework.core.codec.Encoder<?> getEncoder();
descriptor: ()Lorg/springframework/core/codec/Encoder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.codec.ServerSentEventHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
Signature: ()Lorg/springframework/core/codec/Encoder<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.util.List<org.springframework.http.MediaType> getWritableMediaTypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.springframework.http.codec.ServerSentEventHttpMessageWriter.WRITABLE_MEDIA_TYPES:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
Signature: ()Ljava/util/List<Lorg/springframework/http/MediaType;>;
public boolean canWrite(org.springframework.core.ResolvableType, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 3
getstatic org.springframework.http.MediaType.TEXT_EVENT_STREAM:Lorg/springframework/http/MediaType;
aload 2
invokevirtual org.springframework.http.MediaType.includes:(Lorg/springframework/http/MediaType;)Z
ifne 3
1: ldc Lorg/springframework/http/codec/ServerSentEvent;
aload 1
invokevirtual org.springframework.core.ResolvableType.toClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 4 1 elementType Lorg/springframework/core/ResolvableType;
0 4 2 mediaType Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
elementType
mediaType
public reactor.core.publisher.Mono<java.lang.Void> write(org.reactivestreams.Publisher<?>, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.ReactiveHttpOutputMessage, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
ifnull 1
aload 3
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
ifnull 1
aload 3
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.springframework.http.codec.ServerSentEventHttpMessageWriter.DEFAULT_MEDIA_TYPE:Lorg/springframework/http/MediaType;
StackMap locals:
StackMap stack: org.springframework.http.MediaType
2: astore 3
3: aload 4
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.bufferFactory:()Lorg/springframework/core/io/buffer/DataBufferFactory;
astore 6
start local 6 4: aload 4
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
aload 3
invokevirtual org.springframework.http.HttpHeaders.setContentType:(Lorg/springframework/http/MediaType;)V
5: aload 4
aload 0
aload 1
aload 2
aload 3
aload 6
aload 5
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.encode:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Ljava/util/Map;)Lreactor/core/publisher/Flux;
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.writeAndFlushWith:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 6 1 input Lorg/reactivestreams/Publisher<*>;
0 6 2 elementType Lorg/springframework/core/ResolvableType;
0 6 3 mediaType Lorg/springframework/http/MediaType;
0 6 4 message Lorg/springframework/http/ReactiveHttpOutputMessage;
0 6 5 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
4 6 6 bufferFactory Lorg/springframework/core/io/buffer/DataBufferFactory;
Signature: (Lorg/reactivestreams/Publisher<*>;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Mono<Ljava/lang/Void;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
4:
MethodParameters:
Name Flags
input
elementType
mediaType
message
hints
private reactor.core.publisher.Flux<org.reactivestreams.Publisher<org.springframework.core.io.buffer.DataBuffer>> encode(org.reactivestreams.Publisher<?>, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.core.io.buffer.DataBufferFactory, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Ljava/util/Map;)Lreactor/core/publisher/Flux;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: ldc Lorg/springframework/http/codec/ServerSentEvent;
aload 2
invokevirtual org.springframework.core.ResolvableType.toClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
1: aload 2
iconst_0
newarray 10
invokevirtual org.springframework.core.ResolvableType.getGeneric:([I)Lorg/springframework/core/ResolvableType;
goto 3
StackMap locals:
StackMap stack:
2: aload 2
3: StackMap locals:
StackMap stack: org.springframework.core.ResolvableType
astore 6
start local 6 4: aload 1
invokestatic reactor.core.publisher.Flux.from:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Flux;
aload 0
aload 3
aload 4
aload 6
aload 5
invokedynamic apply(Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Lorg/springframework/core/ResolvableType;Ljava/util/Map;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/http/codec/ServerSentEventHttpMessageWriter.lambda$0(Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Lorg/springframework/core/ResolvableType;Ljava/util/Map;Ljava/lang/Object;)Lorg/reactivestreams/Publisher; (7)
(Ljava/lang/Object;)Lorg/reactivestreams/Publisher;
invokevirtual reactor.core.publisher.Flux.map:(Ljava/util/function/Function;)Lreactor/core/publisher/Flux;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 5 1 input Lorg/reactivestreams/Publisher<*>;
0 5 2 elementType Lorg/springframework/core/ResolvableType;
0 5 3 mediaType Lorg/springframework/http/MediaType;
0 5 4 factory Lorg/springframework/core/io/buffer/DataBufferFactory;
0 5 5 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
4 5 6 valueType Lorg/springframework/core/ResolvableType;
Signature: (Lorg/reactivestreams/Publisher<*>;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Flux<Lorg/reactivestreams/Publisher<Lorg/springframework/core/io/buffer/DataBuffer;>;>;
MethodParameters:
Name Flags
input
elementType
mediaType
factory
hints
private void writeField(java.lang.String, java.lang.Object, java.lang.StringBuilder);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: aload 3
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 3
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 3
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 5 1 fieldName Ljava/lang/String;
0 5 2 fieldValue Ljava/lang/Object;
0 5 3 stringBuilder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
fieldName
fieldValue
stringBuilder
private <T> reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> encodeData(T, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.core.io.buffer.DataBufferFactory, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/lang/Object;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Ljava/util/Map;)Lreactor/core/publisher/Flux;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
ifnonnull 2
1: invokestatic reactor.core.publisher.Flux.empty:()Lreactor/core/publisher/Flux;
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.String
ifeq 5
3: aload 1
checkcast java.lang.String
astore 6
start local 6 4: aload 0
new java.lang.StringBuilder
dup
aload 6
ldc "\n"
ldc "\ndata:"
invokestatic org.springframework.util.StringUtils.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
aload 4
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.encodeText:(Ljava/lang/CharSequence;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;)Lreactor/core/publisher/Mono;
invokestatic reactor.core.publisher.Flux.from:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Flux;
areturn
end local 6 5: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.codec.ServerSentEventHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
ifnonnull 7
6: new org.springframework.core.codec.CodecException
dup
ldc "No SSE encoder configured and the data is not String."
invokespecial org.springframework.core.codec.CodecException.<init>:(Ljava/lang/String;)V
invokestatic reactor.core.publisher.Flux.error:(Ljava/lang/Throwable;)Lreactor/core/publisher/Flux;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.codec.ServerSentEventHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
8: aload 1
invokestatic reactor.core.publisher.Mono.just:(Ljava/lang/Object;)Lreactor/core/publisher/Mono;
aload 4
aload 2
aload 3
aload 5
invokeinterface org.springframework.core.codec.Encoder.encode:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/io/buffer/DataBufferFactory;Lorg/springframework/core/ResolvableType;Lorg/springframework/util/MimeType;Ljava/util/Map;)Lreactor/core/publisher/Flux;
9: aload 0
ldc "\n"
aload 3
aload 4
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.encodeText:(Ljava/lang/CharSequence;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;)Lreactor/core/publisher/Mono;
invokevirtual reactor.core.publisher.Flux.concatWith:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Flux;
10: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 11 1 data TT;
0 11 2 valueType Lorg/springframework/core/ResolvableType;
0 11 3 mediaType Lorg/springframework/http/MediaType;
0 11 4 factory Lorg/springframework/core/io/buffer/DataBufferFactory;
0 11 5 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
4 5 6 text Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(TT;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Flux<Lorg/springframework/core/io/buffer/DataBuffer;>;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
2:
3:
4:
MethodParameters:
Name Flags
data
valueType
mediaType
factory
hints
private reactor.core.publisher.Mono<org.springframework.core.io.buffer.DataBuffer> encodeText(java.lang.CharSequence, org.springframework.http.MediaType, org.springframework.core.io.buffer.DataBufferFactory);
descriptor: (Ljava/lang/CharSequence;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;)Lreactor/core/publisher/Mono;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
ldc "Expected MediaType with charset"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
aload 2
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 4
start local 4 2: aload 3
aload 4
invokedynamic get(Lorg/springframework/core/io/buffer/DataBufferFactory;[B)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/http/codec/ServerSentEventHttpMessageWriter.lambda$2(Lorg/springframework/core/io/buffer/DataBufferFactory;[B)Lreactor/core/publisher/Mono; (6)
()Lreactor/core/publisher/Mono;
invokestatic reactor.core.publisher.Mono.defer:(Ljava/util/function/Supplier;)Lreactor/core/publisher/Mono;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 3 1 text Ljava/lang/CharSequence;
0 3 2 mediaType Lorg/springframework/http/MediaType;
0 3 3 bufferFactory Lorg/springframework/core/io/buffer/DataBufferFactory;
2 3 4 bytes [B
Signature: (Ljava/lang/CharSequence;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;)Lreactor/core/publisher/Mono<Lorg/springframework/core/io/buffer/DataBuffer;>;
MethodParameters:
Name Flags
text
mediaType
bufferFactory
public reactor.core.publisher.Mono<java.lang.Void> write(org.reactivestreams.Publisher<?>, org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Ljava/util/Map;)Lreactor/core/publisher/Mono;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 7
1: aload 0
aload 2
aload 3
aload 4
aload 5
aload 6
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.getEncodeHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
2: invokestatic org.springframework.core.codec.Hints.merge:(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
astore 8
start local 8 3: aload 0
aload 1
aload 3
aload 4
aload 6
aload 8
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.write:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 4 1 input Lorg/reactivestreams/Publisher<*>;
0 4 2 actualType Lorg/springframework/core/ResolvableType;
0 4 3 elementType Lorg/springframework/core/ResolvableType;
0 4 4 mediaType Lorg/springframework/http/MediaType;
0 4 5 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 6 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
0 4 7 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 4 8 allHints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Lorg/reactivestreams/Publisher<*>;Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Mono<Ljava/lang/Void;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.springframework.lang.Nullable()
4:
5:
6:
MethodParameters:
Name Flags
input
actualType
elementType
mediaType
request
response
hints
private java.util.Map<java.lang.String, java.lang.Object> getEncodeHints(org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.springframework.http.codec.ServerSentEventHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
instanceof org.springframework.http.codec.HttpMessageEncoder
ifeq 3
1: aload 0
getfield org.springframework.http.codec.ServerSentEventHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
checkcast org.springframework.http.codec.HttpMessageEncoder
astore 6
start local 6 2: aload 6
aload 1
aload 2
aload 3
aload 4
aload 5
invokeinterface org.springframework.http.codec.HttpMessageEncoder.getEncodeHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
areturn
end local 6 3: StackMap locals:
StackMap stack:
invokestatic org.springframework.core.codec.Hints.none:()Ljava/util/Map;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 4 1 actualType Lorg/springframework/core/ResolvableType;
0 4 2 elementType Lorg/springframework/core/ResolvableType;
0 4 3 mediaType Lorg/springframework/http/MediaType;
0 4 4 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 5 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
2 3 6 encoder Lorg/springframework/http/codec/HttpMessageEncoder<*>;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
4:
MethodParameters:
Name Flags
actualType
elementType
mediaType
request
response
private org.reactivestreams.Publisher lambda$0(org.springframework.http.MediaType, org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.ResolvableType, java.util.Map, java.lang.Object);
descriptor: (Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Lorg/springframework/core/ResolvableType;Ljava/util/Map;Ljava/lang/Object;)Lorg/reactivestreams/Publisher;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=13, args_size=6
start local 0 start local 5 0: aload 5
instanceof org.springframework.http.codec.ServerSentEvent
ifeq 2
1: aload 5
checkcast org.springframework.http.codec.ServerSentEvent
goto 3
StackMap locals:
StackMap stack:
2: invokestatic org.springframework.http.codec.ServerSentEvent.builder:()Lorg/springframework/http/codec/ServerSentEvent$Builder;
aload 5
invokeinterface org.springframework.http.codec.ServerSentEvent$Builder.data:(Ljava/lang/Object;)Lorg/springframework/http/codec/ServerSentEvent$Builder;
invokeinterface org.springframework.http.codec.ServerSentEvent$Builder.build:()Lorg/springframework/http/codec/ServerSentEvent;
3: StackMap locals:
StackMap stack: org.springframework.http.codec.ServerSentEvent
astore 6
start local 6 4: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 7
start local 7 5: aload 6
invokevirtual org.springframework.http.codec.ServerSentEvent.id:()Ljava/lang/String;
astore 8
start local 8 6: aload 6
invokevirtual org.springframework.http.codec.ServerSentEvent.event:()Ljava/lang/String;
astore 9
start local 9 7: aload 6
invokevirtual org.springframework.http.codec.ServerSentEvent.retry:()Ljava/time/Duration;
astore 10
start local 10 8: aload 6
invokevirtual org.springframework.http.codec.ServerSentEvent.comment:()Ljava/lang/String;
astore 11
start local 11 9: aload 6
invokevirtual org.springframework.http.codec.ServerSentEvent.data:()Ljava/lang/Object;
astore 12
start local 12 10: aload 8
ifnull 12
11: aload 0
ldc "id"
aload 8
aload 7
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.writeField:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
12: StackMap locals: org.springframework.http.codec.ServerSentEventHttpMessageWriter org.springframework.http.MediaType org.springframework.core.io.buffer.DataBufferFactory org.springframework.core.ResolvableType java.util.Map java.lang.Object org.springframework.http.codec.ServerSentEvent java.lang.StringBuilder java.lang.String java.lang.String java.time.Duration java.lang.String java.lang.Object
StackMap stack:
aload 9
ifnull 14
13: aload 0
ldc "event"
aload 9
aload 7
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.writeField:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
14: StackMap locals:
StackMap stack:
aload 10
ifnull 16
15: aload 0
ldc "retry"
aload 10
invokevirtual java.time.Duration.toMillis:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 7
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.writeField:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/StringBuilder;)V
16: StackMap locals:
StackMap stack:
aload 11
ifnull 18
17: aload 7
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 11
ldc "\n"
ldc "\n:"
invokestatic org.springframework.util.StringUtils.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
aload 12
ifnull 20
19: aload 7
ldc "data:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
iconst_3
anewarray org.reactivestreams.Publisher
dup
iconst_0
aload 0
aload 7
aload 1
aload 2
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.encodeText:(Ljava/lang/CharSequence;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;)Lreactor/core/publisher/Mono;
aastore
dup
iconst_1
21: aload 0
aload 12
aload 3
aload 1
aload 2
aload 4
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.encodeData:(Ljava/lang/Object;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;Ljava/util/Map;)Lreactor/core/publisher/Flux;
aastore
dup
iconst_2
22: aload 0
ldc "\n"
aload 1
aload 2
invokevirtual org.springframework.http.codec.ServerSentEventHttpMessageWriter.encodeText:(Ljava/lang/CharSequence;Lorg/springframework/http/MediaType;Lorg/springframework/core/io/buffer/DataBufferFactory;)Lreactor/core/publisher/Mono;
aastore
23: invokestatic reactor.core.publisher.Flux.concat:([Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Flux;
24: ldc Lorg/springframework/core/io/buffer/PooledDataBuffer;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/springframework/core/io/buffer/DataBufferUtils.release(Lorg/springframework/core/io/buffer/DataBuffer;)Z (6)
(Lorg/springframework/core/io/buffer/PooledDataBuffer;)V
invokevirtual reactor.core.publisher.Flux.doOnDiscard:(Ljava/lang/Class;Ljava/util/function/Consumer;)Lreactor/core/publisher/Flux;
25: areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/springframework/http/codec/ServerSentEventHttpMessageWriter;
0 26 5 element Ljava/lang/Object;
4 26 6 sse Lorg/springframework/http/codec/ServerSentEvent<*>;
5 26 7 sb Ljava/lang/StringBuilder;
6 26 8 id Ljava/lang/String;
7 26 9 event Ljava/lang/String;
8 26 10 retry Ljava/time/Duration;
9 26 11 comment Ljava/lang/String;
10 26 12 data Ljava/lang/Object;
private static reactor.core.publisher.Mono lambda$2(org.springframework.core.io.buffer.DataBufferFactory, byte[]);
descriptor: (Lorg/springframework/core/io/buffer/DataBufferFactory;[B)Lreactor/core/publisher/Mono;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
arraylength
invokeinterface org.springframework.core.io.buffer.DataBufferFactory.allocateBuffer:(I)Lorg/springframework/core/io/buffer/DataBuffer;
aload 1
invokeinterface org.springframework.core.io.buffer.DataBuffer.write:([B)Lorg/springframework/core/io/buffer/DataBuffer;
invokestatic reactor.core.publisher.Mono.just:(Ljava/lang/Object;)Lreactor/core/publisher/Mono;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/springframework/http/codec/HttpMessageWriter<Ljava/lang/Object;>;
SourceFile: "ServerSentEventHttpMessageWriter.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Builder = org.springframework.http.codec.ServerSentEvent$Builder of org.springframework.http.codec.ServerSentEvent