Делаю приложение с использованием свежего Awesomium под винду. Все на чистом C++. Окошко создается CreateWindow, браузер подключается вручную. По ходу работы выяснил, что для того, чтобы что-то заработало, надо или параметр в структуре настроек включить, или обработчик на что-то повесить, но сабж не нашел.
Банальный $.post(url,{data:smth},function(res){...}); не получается обработать.
Нашел ResourceInterceptor, у него есть обработчик OnRequest, а у него параметр Awesomium::ResourceRequest* request.
Все отлично, заголовки есть, метод POST, а как получить данные — без понятия. num_upload_elements возвращает 0. Техподдержка хранит молчание. Дальше хуже, я еще и backbone использую, хотелось бы и PUT запросы с JSON контентом обрабатывать.
Не писать же свой вебсервер ради этих нужд и гонять с одного локального порта на другой трафик.
Я там особо не копался — пока только поверхностно поглядел, но судя по документации:
GetUploadElement (unsigned int idx)=0
Get a certain upload element (returned instance is owned by this class)
AppendUploadFilePath (const WebString &path)=0
Append a file for POST data (adds a new UploadElement)
AppendUploadBytes (const char *bytes, unsigned int num_bytes)=0
Append a string of bytes for POST data (adds a new UploadElement)
По идее, что-то из этого должно отдать данные. Не?
По-моему больше похоже, что AppendUpload*
Как раз и начинают прием данных и как раз добавляют UploadElement — т.е. по идее надо сначала AppendUpload* заюзать, а он уже увеличит счетчик принятых элементов. Или не так?