Closed mastak closed 8 years ago
Probably httplib2
/http
have some issue. I tried to run row requests with httplib2
and request
,
and variant with request
always return success,
httplib2
always failed.
import json
import logging
import coloredlogs
coloredlogs.install(logging.DEBUG)
HOST = 'rabbitmq'
PORT = '15672'
USER = 'admin'
PASSW = 'admin'
VHOST = 'some'
DATA = json.dumps({"configure": '.*', "read": '.*', "write": '.*'})
HEADERS = {"Content-Type": "application/json"}
URL = 'http://192.168.155.128:15672/api/permissions/some/admin'
def request():
import requests
requests.put(URL, auth=(USER, PASSW), data=DATA, headers=HEADERS)
request()
def http():
import httplib2
client = httplib2.Http()
client.add_credentials(USER, PASSW)
client.request(URL, "PUT", DATA, headers=HEADERS)
http()
httplib2
traceback:
Traceback (most recent call last):
File "./tmp.py", line 31, in <module>
http()
File "./tmp.py", line 30, in http
client.request(URL, "PUT", DATA, headers=HEADERS)
File "/usr/local/lib/python3.5/site-packages/httplib2/__init__.py", line 1314, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/local/lib/python3.5/site-packages/httplib2/__init__.py", line 1075, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers, )
File "/usr/local/lib/python3.5/site-packages/httplib2/__init__.py", line 988, in _conn_request
conn.request(method, request_uri, body, headers)
File "/usr/local/lib/python3.5/http/client.py", line 1083, in request
self._send_request(method, url, body, headers)
File "/usr/local/lib/python3.5/http/client.py", line 1128, in _send_request
self.endheaders(body)
File "/usr/local/lib/python3.5/http/client.py", line 1079, in endheaders
self._send_output(message_body)
File "/usr/local/lib/python3.5/http/client.py", line 913, in _send_output
self.send(message_body)
File "/usr/local/lib/python3.5/http/client.py", line 885, in send
self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
Any idea? :)
When I try to set permissions and run script with
set_vhost_permissions
inside docker container, it is always raiseBrokenPipeError
. But if I run it without docker everything fine.Other methods (like
create_vhost
/delete_vhost
) works fine in docker container.