File tree Expand file tree Collapse file tree
core/src/main/java/retrofit2/adapter/sse
juc-flow/src/main/java/retrofit2/adapter/sse/java9
ktx-flow/src/main/java/retrofit2/adapter/sse/kotlinx Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ import java.lang.reflect.Type
2020import retrofit2.CallAdapter
2121import retrofit2.Retrofit
2222import retrofit2.adapter.sse.internal.EventSourceCallAdapter
23+ import retrofit2.http.GET
2324import retrofit2.http.Streaming
2425
2526object EventSourceCallAdapterFactory : CallAdapter.Factory() {
@@ -44,6 +45,10 @@ object EventSourceCallAdapterFactory : CallAdapter.Factory() {
4445 error(" SSE endpoint must be annotated with @Streaming" )
4546 }
4647
48+ if (annotations.none { it is GET }) {
49+ error(" SSE endpoint must use @GET method" )
50+ }
51+
4752 val idType = getParameterUpperBound(0 , returnType)
4853 val typeType = getParameterUpperBound(1 , returnType)
4954 val dataType = getParameterUpperBound(2 , returnType)
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ import java.util.concurrent.Flow
2222import retrofit2.CallAdapter
2323import retrofit2.Retrofit
2424import retrofit2.adapter.sse.ServerSentEvent
25+ import retrofit2.http.GET
2526import retrofit2.http.Streaming
2627
2728class SseJucFlowCallAdapterFactory private constructor(
@@ -68,6 +69,10 @@ class SseJucFlowCallAdapterFactory private constructor(
6869 error(" SSE endpoint must be annotated with @Streaming" )
6970 }
7071
72+ if (annotations.none { it is GET }) {
73+ error(" SSE endpoint must use @GET method" )
74+ }
75+
7176 val idType = getParameterUpperBound(0 , innerType)
7277 val typeType = getParameterUpperBound(1 , innerType)
7378 val dataType = getParameterUpperBound(2 , innerType)
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ import kotlinx.coroutines.flow.Flow
2121import retrofit2.CallAdapter
2222import retrofit2.Retrofit
2323import retrofit2.adapter.sse.ServerSentEvent
24+ import retrofit2.http.GET
2425import retrofit2.http.Streaming
2526
2627object SseKtxFlowCallAdapterFactory : CallAdapter.Factory() {
@@ -57,6 +58,10 @@ object SseKtxFlowCallAdapterFactory : CallAdapter.Factory() {
5758 error(" SSE endpoint must be annotated with @Streaming" )
5859 }
5960
61+ if (annotations.none { it is GET }) {
62+ error(" SSE endpoint must use @GET method" )
63+ }
64+
6065 val idType = getParameterUpperBound(0 , innerType)
6166 val typeType = getParameterUpperBound(1 , innerType)
6267 val dataType = getParameterUpperBound(2 , innerType)
You can’t perform that action at this time.
0 commit comments