
com.twilio.jwt.client.EventStreamScope Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of twilio Show documentation
Show all versions of twilio Show documentation
Twilio Java Helper Library
package com.twilio.jwt.client;
import com.google.common.base.Joiner;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Scope token for Event Streams.
*/
public class EventStreamScope implements Scope {
private static final String SCOPE = Joiner.on(':').join("scope", "stream", "subscribe");
private final Map filters;
private EventStreamScope(Builder b) {
this.filters = b.filters;
}
@Override
public String getPayload() throws UnsupportedEncodingException {
List queryArgs = new ArrayList<>();
queryArgs.add("path=/2010-04-01/Events");
if (!this.filters.isEmpty()) {
queryArgs.add(Joiner.on('=').join(
URLEncoder.encode("appParams", "UTF-8"),
URLEncoder.encode(this.getFilterParams(), "UTF-8")
));
}
String queryString = Joiner.on('&').join(queryArgs);
return Joiner.on('?').join(SCOPE, queryString);
}
private String getFilterParams() throws UnsupportedEncodingException {
List queryParams = new ArrayList<>();
for (Map.Entry param : filters.entrySet()) {
queryParams.add(Joiner.on('=').join(
URLEncoder.encode(param.getKey(), "UTF-8"),
URLEncoder.encode(param.getValue(), "UTF-8")
));
}
return Joiner.on('&').join(queryParams);
}
public static class Builder {
private Map filters = new HashMap<>();
public Builder filters(Map filters) {
this.filters.putAll(filters);
return this;
}
public EventStreamScope build() {
return new EventStreamScope(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy