تحديد طول استجابة من عامل تصفية ISAPI

StackOverflow https://stackoverflow.com/questions/617579

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا أعمل على تصفية ISAPI لتجريد محتوى معين من الردود. أنا بحاجة لجمع كل الجسم للاستجابة قبل أن أفعل تجهيز، ومحتوى أنا تجريد يمكن أن تتداخل إرسال مخازن.

لذلك أود أن العازلة محتوى استجابة مع كل إشعار SF_NOTIFY_SEND_RAW_DATA حتى أحصل على آخر واحد، ثم ترسل البيانات المترجمة. أود أن أعرف أفضل طريقة لتحديد أي SF_NOTIFY_SEND_RAW_DATA هو في الواقع آخر. إذا كنت تنتظر حتى SF_NOTIFY_END_OF_REQUESTnotification، ثم أنا لا أعرف كيف لإرسال البيانات لقد مخزنة.

ونهج واحد سيكون لاستخدام المحتوى طول. وهذا يتطلب I كشف نهاية رؤوس. فإنه أيضا يتطلب افتراض رأس بطول المحتوى هو الصحيح (والتي ضمنت؟). منذ HTTP لا تتطلب حتى رأس بطول المحتوى، وأنا لست متأكدا من أنه سيكون دائما هناك. هناك يبدو وكأنه يجب أن يكون هناك طريقة أسهل.

وأفترض لا المقسم وردا على ذلك، لذلك أنا لست التعامل مع dechunking قبل أن أفعل التغيير استجابة. أيضا، عندما أفعل التعديلات على الجسم استجابة، وحجم تيه الجسم استجابة لن تتغير، لذلك لا حاجة لي أن أعود وتحديث محتوى طول.

هل كانت مفيدة؟

المحلول

وأخيرا وجدت بعض المناقشات الجيدة عن طريق البريد الإلكتروني.

وهذه المشاركات إجابات أسئلتي، وكذلك يثير قضايا سيكون له مرشح أكثر تعقيدا لمعالجة: <لأ href = "http://groups.google.com/group/microsoft.public.platformsdk.internet.server. ؟ ISAPI-ديف / browse_thread / موضوع / 85a5e75f342fad2b / cbb638f9a85c9e03 ف = HTTP_FILTER_RAW_DATA و_done =٪ 2Fgroups٪ 3Fq٪ 3DHTTP_FILTER_RAW_DATA٪ 26start٪ 3D20٪ 26 و_doneTitle = العودة + إلى + بحث && د & كابلان = 1 "يختلط =" نوفولو noreferrer "> HTTP: // المجموعات. google.com/group/microsoft.public.platformsdk.internet.server.isapi-dev/browse_thread/thread/85a5e75f342fad2b/cbb638f9a85c9e03؟q=HTTP_FILTER_RAW_DATA&_done=٪2Fgroups٪3Fq٪3DHTTP_FILTER_RAW_DATA٪26start٪3D20٪26&_doneTitle=Back+to+Search&&d&pli = 1

ومرشح لدي الصورة التخزين المؤقت على طلب كامل في المخزن الخاص بها ثم استخدام SF_NOTIFY_END_OF_REQUEST لإرسال المحتويات. التعديل فإنه لا يغير من حجم، ويحول دون إمكانية أن يتم المقسم الاستجابة، وذلك في حالتي تصفية بسيط نسبيا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top