基于 OpenWhisk 实时监测静态网页是否有乱码(2)实例-5
- UID
- 1066743
|
基于 OpenWhisk 实时监测静态网页是否有乱码(2)实例-5
解决方案:通过 提供的方法,我们可以在OpenWhisk处理或传输Unicode之前,将Unicode进行编码,然后在发送Unicode到Slack的Action中进行解码就可以让Unicode字符正确的在Slack上显示。相应代码修改如下:
更改
1
2
3
4
| for(var i=0; i<ret.length; i++)
{
ret['garbled_lines'] = utils.encodeStrings(ret['garbled_lines']);
}
|
更改
1
2
3
| for(var i=0,len=d.length; i<len; i++){
d['garbled_lines'] = utils.decodeStrings(d['garbled_lines']);
}
|
其中,utils方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| var utils = {
map : function(arr, func){
var res = [];
for(var i=0,len=arr.length; i<len; i++){
res.push(func(arr));
}
return res;
},
encodeStrings : function(arr){
return utils.map(arr, querystring.escape);
},
decodeStrings : function(arr){
return utils.map(arr, decodeURI);
},
};
|
更新好代码之后,需要更新Action garbageDetectionAction,myCustomSlack/post2slack, 以及git2slack sequence。然后,按照测试步骤,更新 某个文件,然后deploy到Bluemix,再push到GitHub Repository,可以在Slack收到正常的返回结果,如图11所示:
图11. Unicode显示正常图
总结本文阐述了IBM OpenWhisk简要概述,和一些应用场景,以及结合一个实例讲解如何编写和使用OpenWhisk相关组件来完成一个DevOps的解决方案。最后,给出了实例实现过程遇到的一个问题,以及对应的解决方法。 |
|
|
|
|
|