2016-02-23 5 views
0

Я использую Twisted/Klein для создания API через сокеты UNIX-домена для некоторых служб командной строки, которые я пишу. Я хотел бы иметь возможность получить доступ к объекту сокета, чтобы я мог проверить PEER CREDENTIALS для этого сокета, чтобы определить, кто имеет доступ к каким методам API. Кто-нибудь знает способ доступа к этому объекту сокета или, альтернативно, получить доступ к данным PEER CREDENTIALS из сокета UNIX-домена в Klein/Twisted?Как получить доступ к объекту сокета из метода маршрута Twisted/Klein в Python?

Спасибо заранее!

ответ

1

В Кляйне это будет request.channel.transport.getHandle().

Типы этих объектов, соответственно:

twisted.web.server.Request, twisted.web.http.HTTPChannel, twisted.internet.unix.Server и socket.socket соответственно.

+0

Вас также может заинтересовать этот билет - https://twistedmatrix.com/trac/ticket/8191 - где мы думали об устаревании этих атрибутов. Этот вопрос побуждает меня рассмотреть вопрос о том, нужно ли еще предоставлять доступ к транспорту на каком-то уровне, или это должно быть выполнено каким-то другим способом (например, с использованием пользовательского 'requestFactory'). – Glyph

+0

Возможно, kwargs со спецификацией из сокета будет достаточно? –