|
22 | 22 | import com.azure.communication.callautomation.models.GroupCallLocator; |
23 | 23 | import com.azure.communication.callautomation.models.ParallelDownloadOptions; |
24 | 24 | import com.azure.communication.callautomation.models.RecordingStateResult; |
| 25 | +import com.azure.communication.callautomation.models.RepeatabilityHeaders; |
25 | 26 | import com.azure.communication.callautomation.models.ServerCallLocator; |
26 | 27 | import com.azure.communication.callautomation.models.StartRecordingOptions; |
27 | 28 | import com.azure.core.annotation.ReturnType; |
|
51 | 52 | import java.nio.file.Path; |
52 | 53 | import java.nio.file.StandardOpenOption; |
53 | 54 | import java.security.InvalidParameterException; |
| 55 | +import java.time.Instant; |
54 | 56 | import java.util.HashSet; |
55 | 57 | import java.util.List; |
56 | 58 | import java.util.Objects; |
57 | 59 | import java.util.Set; |
| 60 | +import java.util.UUID; |
58 | 61 | import java.util.stream.Collectors; |
59 | 62 |
|
60 | 63 | import static com.azure.core.util.FluxUtil.monoError; |
@@ -120,10 +123,19 @@ Mono<Response<RecordingStateResult>> startRecordingWithResponseInternal(StartRec |
120 | 123 | } |
121 | 124 | StartCallRecordingRequestInternal request = getStartCallRecordingRequest(options); |
122 | 125 |
|
| 126 | + if (options.getRepeatabilityHeaders() == null) { |
| 127 | + RepeatabilityHeaders autoRepeatabilityHeaders = new RepeatabilityHeaders(UUID.randomUUID(), Instant.now()); |
| 128 | + options.setRepeatabilityHeaders(autoRepeatabilityHeaders); |
| 129 | + } |
| 130 | + |
123 | 131 | return withContext(contextValue -> { |
124 | 132 | contextValue = context == null ? contextValue : context; |
125 | 133 | return contentsInternal |
126 | | - .recordingWithResponseAsync(request, null, null, contextValue) |
| 134 | + .recordingWithResponseAsync( |
| 135 | + request, |
| 136 | + options.getRepeatabilityHeaders().getRepeatabilityRequestId(), |
| 137 | + options.getRepeatabilityHeaders().getRepeatabilityFirstSentInHttpDateFormat(), |
| 138 | + contextValue) |
127 | 139 | .onErrorMap(HttpResponseException.class, ErrorConstructorProxy::create) |
128 | 140 | .map(response -> |
129 | 141 | new SimpleResponse<>(response, RecordingStateResponseConstructorProxy.create(response.getValue())) |
|
0 commit comments