sclass GitterREST { S personalAccessToken; *() {} *(S *personalAccessToken) {} L listRooms() { ret jsonDecodeList(loadPageAuthed("https://api.gitter.im/v1/rooms")); } S loadPageAuthed(S url) { temp tempSetTL(loadPage_extraHeaders, litmap("Authorization", "Bearer " + assertNempty(personalAccessToken))); ret loadPage(url); } L listMessages(S roomId, int limit) { ret jsonDecodeList(loadPageAuthed("https://api.gitter.im/v1/rooms/:" + roomId + "/chatMessages?limit=" + limit); } }