DodontoF
DodontoF copied to clipboard
Webインターフェースのコマンド解析の不具合?
Webインターフェースを呼び出したとき、parseWebIfMessageData()
に進んでいないようです。意図的かどうかはっきりしませんでしたが、一応報告いたします。
コマンド解析までの順番
「printResult() 以下」の階層が深くなっているので、ここを単純化できると見通しがよくなりそうに見えます。
トップレベル
- executeDodontoServerCgi()
- getCgiParams()
- ここで DodontoFServer::getMessagePackFromData() に進まない
- main()
- printResult()
- getCgiParams()
printResult() 以下
- DodontoFServer#getResponse()
- DodontoFServer#analyzeCommand()
- DodontoFServer#getRequestData('cmd')
-
nil
が返る
-
- DodontoFServer#getResponseTextWhenNoCommandName()
- DodontoFServer#analyzeWebInterface()
- DodontoFServer#analyzeWebInterfaceCatched()
- DodontoFServer#analyzeWebInterface()
- DodontoFServer#getRequestData('cmd')
- DodontoFServer#analyzeCommand()
DodontoFServer#analyzeWebInterfaceCatched() 以下
- DodontoFServer#getRequestData('webif')
- DodontoFServer#analyzeWebInterfaceNoLogin()
- DodontoFServer#loginOnWebInterface()
- DodontoFServer#analyzeWebInterfaceLogined()
- DodontoFServer#analyzeWebInterfaceLoginedEveryone()
- DodontoFServer#analyzeWebInterfaceParticipant()
原因?
getCgiParams() において、HTTPのGETメソッドの場合には、以下に到達し得る DodontoFServer::getMessagePackFromData() を通りません。
- DodontoFServer::isWebIfMessagePack()
- DodontoFServer::parseWebIfMessageData()
参考:https://github.com/torgtaitai/DodontoF/blob/94c3c0496587998663216998771fd00186b0b5c2/DodontoFServer.rb#L6939-L6946
ログ
webifのgetBusyInfoを呼び出したときのログです。
D, [2016-04-17T21:48:00.022753 #7960] DEBUG -- : :getCgiParams Begin
D, [2016-04-17T21:48:00.022854 #7960] DEBUG -- : ENV[REQUEST_METHOD]:GET
D, [2016-04-17T21:48:00.022930 #7960] DEBUG -- : messagePackedData:{}
D, [2016-04-17T21:48:00.022961 #7960] DEBUG -- : :getCgiParams End
D, [2016-04-17T21:48:00.022989 #7960] DEBUG -- : :main called
D, [2016-04-17T21:48:00.023022 #7960] DEBUG -- : getRequestData key:room
D, [2016-04-17T21:48:00.023058 #7960] DEBUG -- : saveDataKeyName:chatMessageDataLog
D, [2016-04-17T21:48:00.023085 #7960] DEBUG -- : saveFileName:chat.json
D, [2016-04-17T21:48:00.023111 #7960] DEBUG -- : :getDirName begin..
D, [2016-04-17T21:48:00.023138 #7960] DEBUG -- : requestData:nil
D, [2016-04-17T21:48:00.023169 #7960] DEBUG -- : saveDataDirIndexObject:nil
D, [2016-04-17T21:48:00.023199 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.023230 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.023285 #7960] DEBUG -- : saveDataDirName created:../../saveData/data_0
D, [2016-04-17T21:48:00.023317 #7960] DEBUG -- : saveDataDirName:../../saveData/data_0
D, [2016-04-17T21:48:00.023347 #7960] DEBUG -- : saveDataKeyName:map
D, [2016-04-17T21:48:00.023373 #7960] DEBUG -- : saveFileName:map.json
D, [2016-04-17T21:48:00.023397 #7960] DEBUG -- : :getDirName begin..
D, [2016-04-17T21:48:00.023421 #7960] DEBUG -- : requestData:nil
D, [2016-04-17T21:48:00.023452 #7960] DEBUG -- : saveDataDirIndexObject:nil
D, [2016-04-17T21:48:00.023479 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.023508 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.023538 #7960] DEBUG -- : saveDataDirName created:../../saveData/data_0
D, [2016-04-17T21:48:00.023563 #7960] DEBUG -- : saveDataDirName:../../saveData/data_0
D, [2016-04-17T21:48:00.023590 #7960] DEBUG -- : saveDataKeyName:characters
D, [2016-04-17T21:48:00.023615 #7960] DEBUG -- : saveFileName:characters.json
D, [2016-04-17T21:48:00.023639 #7960] DEBUG -- : :getDirName begin..
D, [2016-04-17T21:48:00.023663 #7960] DEBUG -- : requestData:nil
D, [2016-04-17T21:48:00.023693 #7960] DEBUG -- : saveDataDirIndexObject:nil
D, [2016-04-17T21:48:00.023720 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.023749 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.023778 #7960] DEBUG -- : saveDataDirName created:../../saveData/data_0
D, [2016-04-17T21:48:00.023804 #7960] DEBUG -- : saveDataDirName:../../saveData/data_0
D, [2016-04-17T21:48:00.023852 #7960] DEBUG -- : saveDataKeyName:time
D, [2016-04-17T21:48:00.023891 #7960] DEBUG -- : saveFileName:time.json
D, [2016-04-17T21:48:00.023918 #7960] DEBUG -- : :getDirName begin..
D, [2016-04-17T21:48:00.023943 #7960] DEBUG -- : requestData:nil
D, [2016-04-17T21:48:00.023973 #7960] DEBUG -- : saveDataDirIndexObject:nil
D, [2016-04-17T21:48:00.024026 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.024064 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.024095 #7960] DEBUG -- : saveDataDirName created:../../saveData/data_0
D, [2016-04-17T21:48:00.024120 #7960] DEBUG -- : saveDataDirName:../../saveData/data_0
D, [2016-04-17T21:48:00.024148 #7960] DEBUG -- : saveDataKeyName:effects
D, [2016-04-17T21:48:00.024173 #7960] DEBUG -- : saveFileName:effects.json
D, [2016-04-17T21:48:00.024197 #7960] DEBUG -- : :getDirName begin..
D, [2016-04-17T21:48:00.024221 #7960] DEBUG -- : requestData:nil
D, [2016-04-17T21:48:00.024251 #7960] DEBUG -- : saveDataDirIndexObject:nil
D, [2016-04-17T21:48:00.024278 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.024307 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.024336 #7960] DEBUG -- : saveDataDirName created:../../saveData/data_0
D, [2016-04-17T21:48:00.024361 #7960] DEBUG -- : saveDataDirName:../../saveData/data_0
D, [2016-04-17T21:48:00.024388 #7960] DEBUG -- : saveDataKeyName:playRoomInfo
D, [2016-04-17T21:48:00.024413 #7960] DEBUG -- : saveFileName:playRoomInfo.json
D, [2016-04-17T21:48:00.024436 #7960] DEBUG -- : :getDirName begin..
D, [2016-04-17T21:48:00.024482 #7960] DEBUG -- : requestData:nil
D, [2016-04-17T21:48:00.024517 #7960] DEBUG -- : saveDataDirIndexObject:nil
D, [2016-04-17T21:48:00.024544 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.024573 #7960] DEBUG -- : saveDataDirIndex:0
D, [2016-04-17T21:48:00.024602 #7960] DEBUG -- : saveDataDirName created:../../saveData/data_0
D, [2016-04-17T21:48:00.024627 #7960] DEBUG -- : saveDataDirName:../../saveData/data_0
D, [2016-04-17T21:48:00.024659 #7960] DEBUG -- : :server created
D, [2016-04-17T21:48:00.024687 #7960] DEBUG -- : :========================================>CGI begin.
D, [2016-04-17T21:48:00.024716 #7960] DEBUG -- : getRequestData key:cmd
D, [2016-04-17T21:48:00.024746 #7960] DEBUG -- : commandName:nil
D, [2016-04-17T21:48:00.024774 #7960] DEBUG -- : :getResponseTextWhenNoCommandName Begin
D, [2016-04-17T21:48:00.024800 #7960] DEBUG -- : :analyzeWebInterfaceCatched begin
D, [2016-04-17T21:48:00.024825 #7960] DEBUG -- : getRequestData key:webif
D, [2016-04-17T21:48:00.024948 #7960] DEBUG -- : commandName:getBusyInfo
D, [2016-04-17T21:48:00.024982 #7960] DEBUG -- : getRequestData key:marker
D, [2016-04-17T21:48:00.025009 #7960] DEBUG -- : commandName:getBusyInfo
D, [2016-04-17T21:48:00.025092 #7960] DEBUG -- : getRequestData key:callback
D, [2016-04-17T21:48:00.025127 #7960] DEBUG -- : :callBack
D, [2016-04-17T21:48:00.025184 #7960] DEBUG -- : {"loginCount"=>0, "maxLoginCount"=>30, "version"=>"Ver.1.47.24(2016/04/07)", "result"=>"OK"}:analyzeWebInterfaceCatched end result
D, [2016-04-17T21:48:00.025273 #7960] DEBUG -- : CGI response original length:85
D, [2016-04-17T21:48:00.025305 #7960] DEBUG -- : RESPONSE header:Content-Type: text/plain; charset=utf-8
D, [2016-04-17T21:48:00.025338 #7960] DEBUG -- : :========================================>CGI end.
D, [2016-04-17T21:48:00.025363 #7960] DEBUG -- : :printResult called