Remove rest content unsafe usage

Original commit: elastic/x-pack-elasticsearch@4725a3de22
This commit is contained in:
Shay Banon 2015-05-09 16:21:45 +02:00
parent 8fad9937f7
commit 02ad78743e
3 changed files with 3 additions and 24 deletions

View File

@ -34,7 +34,7 @@ public class RestPutWatchAction extends WatcherRestHandler {
@Override @Override
protected void handleRequest(final RestRequest request, RestChannel channel, WatcherClient client) throws Exception { protected void handleRequest(final RestRequest request, RestChannel channel, WatcherClient client) throws Exception {
PutWatchRequest putWatchRequest = new PutWatchRequest(request.param("id"), request.content(), request.contentUnsafe()); PutWatchRequest putWatchRequest = new PutWatchRequest(request.param("id"), request.content());
putWatchRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putWatchRequest.masterNodeTimeout())); putWatchRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putWatchRequest.masterNodeTimeout()));
client.putWatch(putWatchRequest, new RestBuilderListener<PutWatchResponse>(channel) { client.putWatch(putWatchRequest, new RestBuilderListener<PutWatchResponse>(channel) {
@Override @Override

View File

@ -28,20 +28,17 @@ public class PutWatchRequest extends MasterNodeOperationRequest<PutWatchRequest>
private String id; private String id;
private BytesReference source; private BytesReference source;
private boolean sourceUnsafe;
PutWatchRequest() { PutWatchRequest() {
this(null, null, false);
} }
public PutWatchRequest(String id, WatchSourceBuilder source) { public PutWatchRequest(String id, WatchSourceBuilder source) {
this(id, source.buildAsBytes(XContentType.JSON), false); this(id, source.buildAsBytes(XContentType.JSON));
} }
public PutWatchRequest(String id, BytesReference source, boolean sourceUnsafe) { public PutWatchRequest(String id, BytesReference source) {
this.id = id; this.id = id;
this.source = source; this.source = source;
this.sourceUnsafe = sourceUnsafe;
masterNodeTimeout(DEFAULT_TIMEOUT); masterNodeTimeout(DEFAULT_TIMEOUT);
} }
@ -78,22 +75,6 @@ public class PutWatchRequest extends MasterNodeOperationRequest<PutWatchRequest>
*/ */
public void setSource(BytesReference source) { public void setSource(BytesReference source) {
this.source = source; this.source = source;
this.sourceUnsafe = false;
}
/**
* Set the source of the watch with boolean to control source safety
*/
public void setSource(BytesReference source, boolean sourceUnsafe) {
this.source = source;
this.sourceUnsafe = sourceUnsafe;
}
void beforeLocalFork() {
if (sourceUnsafe) {
source = source.copyBytesArray();
sourceUnsafe = false;
}
} }
@Override @Override
@ -113,7 +94,6 @@ public class PutWatchRequest extends MasterNodeOperationRequest<PutWatchRequest>
super.readFrom(in); super.readFrom(in);
id = in.readString(); id = in.readString();
source = in.readBytesReference(); source = in.readBytesReference();
sourceUnsafe = false;
} }
@Override @Override

View File

@ -62,7 +62,6 @@ public class TransportPutWatchAction extends WatcherTransportAction<PutWatchRequ
@Override @Override
protected ClusterBlockException checkBlock(PutWatchRequest request, ClusterState state) { protected ClusterBlockException checkBlock(PutWatchRequest request, ClusterState state) {
request.beforeLocalFork(); // This is the best place to make the watch source safe
return state.blocks().indexBlockedException(ClusterBlockLevel.WRITE, WatchStore.INDEX); return state.blocks().indexBlockedException(ClusterBlockLevel.WRITE, WatchStore.INDEX);
} }