Skip to content

Commit 49426de

Browse files
committed
tmp
Signed-off-by: kvmw <mshamsi@broadcom.com>
1 parent 0c45c0c commit 49426de

2 files changed

Lines changed: 38 additions & 1 deletion

File tree

greeter-messages/app.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
import asyncio
23
from flask import Flask, request
34
from eureka_client import EurekaServerClient
45

@@ -13,7 +14,7 @@ def greeting():
1314
return f"{salutation}, {name}!"
1415

1516
if __name__ == '__main__':
16-
port = int(os.getenv("PORT", '8080'))
17+
port = int(os.getenv('PORT', '8080'))
1718
eureka_client = EurekaServerClient(port)
1819
asyncio.run(eureka_client.start())
1920
app.run(host='0.0.0.0', port=port)

greeter-messages/eureka_client.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
1+
import os
2+
import urllib.request
13
from cfenv import AppEnv
24
from oauth2 import OAuth2Client
35
from py_eureka_client.eureka_client import EurekaClient
6+
import py_eureka_client.logger as logger
7+
import py_eureka_client.http_client as http_client
8+
from urllib.error import URLError
9+
from typing import Union
10+
11+
logger.set_level('DEBUG')
12+
13+
class MyHttpClient(http_client.HttpClient):
14+
15+
async def urlopen(self, request: Union[str, http_client.HttpRequest] = None,
16+
data: bytes = None, timeout: float = None) -> http_client.HttpResponse:
17+
if isinstance(request, http_client.HttpRequest):
18+
req = request
19+
elif isinstance(request, str):
20+
req = http_client.HttpRequest(request, headers={'Accept-Encoding': 'gzip'})
21+
else:
22+
raise URLError("Invalid URL")
23+
24+
req = req._to_urllib_request()
25+
req.add_header("Connection", "close")
26+
req.add_header("Authorization", f"Bearer {self.oauth_client.get_access_token()}")
27+
res = urllib.request.urlopen(req, data=data, timeout=timeout)
28+
return http_client.HttpResponse(res)
29+
30+
http_client.set_http_client(MyHttpClient())
431

532
class EurekaServerClient:
633
def __init__(self, port: int):
@@ -22,12 +49,21 @@ def __init__(self, port: int):
2249

2350
self.client = EurekaClient(
2451
app_name=self.env.name,
52+
instance_host=self.env.uris[0],
53+
instance_ip=os.getenv('CF_INSTANCE_INTERNAL_IP'),
54+
instance_id=f"{self.env.uris[0]}:{self.env.app.get('instance_id') or '0'}",
55+
instance_unsecure_port_enabled=True,
2556
instance_port=port,
57+
instance_secure_port_enabled=True,
58+
instance_secure_port=port,
2659
eureka_server=self.credentials['uri']
2760
)
2861

62+
self.client.start()
63+
2964
def on_err(err_type: str, err: Exception):
3065
print(f"{err_type}::{err}")
66+
raise err
3167

3268
async def start(self):
3369
await self.client.start()

0 commit comments

Comments
 (0)