나는 플러그인 개발을 처음 사용합니다. 나는 npapi 플러그인을 개발하기 위해 Firebreath를 사용하라는 말을 들었습니다. 이제, 나는 플러그인에 전달 된 응답의 http 응답 헤더에 액세스하려고합니다. 그러나 나는 그들의 희소 한 의사가 firebreath를 위해 유효한대로 길을 이해할 수 없었다. NPAPI 자습서에서는 npstream을 사용하지만 firebreath에서이 구조를 사용하는 방법을 알 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.npapi 플러그인에서 http 응답 헤더를 얻는 방법
업데이트 : 경고 상자의
void tPlugin::handleUnsolicitedStream(FB::BrowserStreamRequest& req) { const FB::PluginEventSinkPtr sinkPtr; req.setEventSink(sinkPtr); responseHeaders = req.headers; FB::HeaderMap::const_iterator it = responseHeaders.begin(); str = (*it).first + " : " + (*it).second; // str is a class variable FB::DOM::WindowPtr window = m_host->getDOMWindow(); window->alert(str); str = "hello"; window->alert(fname); }
없음이 나타납니다
!void tPlugin::onPluginReady()
{
FB::DOM::WindowPtr window = m_host->getDOMWindow();
window->alert(str);
}
빈 경고 상자가 나타납니다.
응답에서 오는 헤더의 위치를 묻습니다. 그들은 (NPP_NewStream에서) 스트림의 apon 생성으로 만들어진 BrowserStreamRequest 객체에 넣어집니다. – taxilian
이것은 내가 당신과의 과거 대화에서 이미 원치 않는 스트림을 처리하고 있다고 생각했기 때문에 혼란 스럽지만 여기에 대한 답변이 업데이트되었습니다. 그 정보를 포함 시키십시오. – taxilian
아마도 내 대답을 이해하지 못할 수도 있습니다. 나는 당신이 http 요청을 만들 때 말하는 것이 아니다. 브라우저가 mime-type을 포함하는 응답을 받고 플러그인이 호출되는 경우에 대해 이야기하고 있습니다. 같은 응답의 헤더를 원하면 handleUnsolicitedStream 메서드가 호출됩니다. 찾고있는 헤더가있는 FB :: BrowserStreamRequest 객체에 FB :: HeaderMap 유형의 공용 속성이 있습니다. 그것은 방법이 아닙니다! 그것은 단지 공공의 재산입니다. 코드를 살펴보십시오. 또한 디버거를 사용해보십시오. 나는 내가 어떻게 같은 것을 설명 할 수 있는지 알지 못한다. – taxilian