كيف يمكنني إضافة ملفات تعريف الارتباط إلى شاطئ البحر الردود دون توجيه?

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

سؤال

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

أحاول تجنب استخدام WASession>>redirectWithCookies لأنه يبدو kludgey إلى إعادة توجيه فقط لأنني أريد أن تعيين ملف تعريف الارتباط.

هل هناك طريقة أخرى موجودة بالفعل لإضافة ملف تعريف الارتباط التي سوف تذهب على التالي الرد ؟

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

المحلول

لا يوجد حاليا أي المدمج في طريقة لإضافة ملفات تعريف الارتباط أثناء العمل/رد مرحلة من مراحل معالجة الطلب.وهذا هو الأرجح عيب و يلاحظ في هذه المسألة: http://code.google.com/p/seaside/issues/detail?id=48

هذا هو حاليا من المقرر أن تكون ثابتة على شاطئ البحر 2.9 ولكن أنا لا أعرف ما إذا كان سوف يكون حتى backported إلى 2.8 أو لا.

نضع في اعتبارنا أن هناك بالفعل (افتراضيا) إعادة توجيه بين العمل و تقديم مراحل لمنع تحديث من إعادة تحريك الاسترجاعات ، وذلك في المخطط الكبير للأشياء ، أحد أكثر إعادة توجيه في هذه الحالة ليس لذلك سيئة.

إذا كنت لا تزال ترغب في حفر مزيد من إلقاء نظرة على WARenderContinuation>>handleRequest:.حيث رد المعالجة يتم تشغيل إعادة توجيه أو تقديم المرحلة بدأت.

التعديل لإضافة:

المسألة الآن ثابتة (في أحدث تطور رمز) يمكنك الآن بشكل صحيح إضافة ملفات تعريف الارتباط إلى الاستجابة الحالية في أي وقت.ببساطة الوصول إلى استجابة الكائن في الطلب الحالي السياق إضافة ملف تعريف الارتباط.على سبيل المثال ، قد تفعل شيئا مثل:

self requestContext response addCookie: aCookie

هذا ليس من المرجح أن يكون backported إلى شاطئ البحر 2.8 كما أنه مطلوب إلى حد ما تحول كبير في طريقة الردود التعامل معها.

نصائح أخرى

لقد نظرت إلى هذا في العمق ، ويبدو أن الجواب لا.على وجه التحديد, ليس هناك طريقة للحصول على رد من WARenderCanvas أو أي شيء لا يمكن الوصول إلى (فإنه يحمل على WARenderingContext الذي يحمل على WAHtmlStreamDocument الذي يحمل على الاستجابة تيار ولكن ليس الرد نفسه).أعتقد أنه سيكون من المعقول أن تعطي سياق الوصول إلى الاستجابة الحالية ، على وجه التحديد أن تكون قادرا على تعيين رؤوس على ذلك ، ولكن هل سألت إذا كان هناك بالفعل طريقة لذلك:لا.

وقال شاطئ البحر يفعل الكثير من اضافية إعادة توجيه, و لا يبدو أن يكون لها تأثير كبير على تجربة المستخدم, ربما شيء نفعله هو التوقف عن القلق حول ذلك يبدو kludgey والذهاب مع تدفق API أن هناك بالفعل :)

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