[pyar] Fandjango + WebSockets

Luis Masuelli luismasuelli en hotmail.com
Vie Jul 25 12:05:19 ART 2014


Estoy medio metido, no tanto pero we, con aplicaciones de Facebook. Para esto, uso una cosa llamada Fandjango (Fandjango==4.2, que hace de interfaz entre facepy y django).
Todo viene piola hasta ahi, pero tengo un tema: quiero agregar puntos de entrada que sean WEBSOCKETS, y la verdad tengo menos que una percepción teórica de qué quiero hacer, y necesito una mano ya no marca ninja, sino marca Sifu de taichi, shaolin, wing chung, y choi lee fat.
Es decir: quiero tener un /punto-de-entrada/ que no sea una peticion normal HTTP sino que tenga un acceso de websocket (usando la libreria que sea - en mi caso vi un ejemplo con Tornado).
Ahora bien: Si lo implemento usando Tornado, entonces las peticiones de websocket nunca van a llegar a Django (porque se quedan en el WSGI Handler de websocket, que es en el server que crearía con Tornado - http://ultimatenerdiness.com/2012/10/14/django-and-tornado/)
Tengo algunas preguntas, las cuales en el solo hecho de existir me piden que haga un cambio arquitectural marca ninja o la ya mencionada marca kung fu:
1. La implementación que está ahí (en el link que puse) es basada en threads o es asincrona? (ej. greenlets - NUNCA use Tornado).
2. Mi idea es usar una comprobación básica en los puntos de entrada de sockets:        * Si esta definido request.facebook y esta definido request.facebook.user entonces autorizo a que se cree un websocket.        * Caso contrario tiro un error 401, http normal.    ¿Como puedo hacer eso con una conexion de websocket, si el encargado de crear un request.facebook es: fandjango.middlewares.FacebookMiddleware, y las conexiones de websocket van por fuera de django?. Otro tema es que cuando el servidor autoriza un websocket, se devuelve un header con codigo 101 y el upgrade a websocket: ¿puedo hacer que se tire un error 401 como lo estoy pretendiendo?¿como atiendo ese caso del lado cliente?
Muchas gracias, y espero q alguien comparta mi dolor :$. 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140725/f10a253d/attachment.html>


More information about the pyar mailing list