Skip to content
Snippets Groups Projects

Resolve "Préciser la locale dans les appels REST"

Merged Olivier Maury requested to merge 16-preciser-la-locale-dans-les-appels-rest into main
package fr.agrometinfo.www.client;
import org.dominokit.domino.api.shared.extension.ContextAggregator;
import org.dominokit.rest.DominoRestConfig;
import org.dominokit.rest.shared.request.RequestInterceptor;
import org.dominokit.rest.shared.request.ServerRequest;
import org.gwtproject.event.shared.Event;
import org.gwtproject.event.shared.EventBus;
import org.gwtproject.event.shared.SimpleEventBus;
import org.gwtproject.i18n.shared.cldr.LocaleInfo;
import org.pepstock.charba.client.Charba;
import com.google.gwt.core.client.EntryPoint;
@@ -20,6 +24,22 @@ import fr.agrometinfo.www.client.presenter.LoginPresenter;
* @author Olivier Maury
*/
public class App implements EntryPoint {
/**
* Global interceptors allows us to intercept the requests of domino-rest and
* modify the requests before they are sent to the server.
*
* Add the locale from the interface to make sure server response match the
* interface.
*/
class LocaleInterceptor implements RequestInterceptor {
@Override
public void interceptRequest(final ServerRequest request,
final ContextAggregator.ContextWait<ServerRequest> contextWait) {
request.setHeader("Accept-Language", LocaleInfo.getCurrentLocale().getLocaleName());
contextWait.complete(request);
}
}
/**
* Dispatches {@link Event}s to interested parties.
*/
@@ -45,6 +65,7 @@ public class App implements EntryPoint {
GWT.log("onModuleLoad()");
DominoRestConfig.initDefaults();
DominoRestConfig.getInstance().addRequestInterceptor(new LocaleInterceptor());
DominoRestConfig.getInstance().setDefaultResourceRootPath(Window.Location.getPath() + "/rs");
// enabling Charba
Loading