Skip to content

Commit 241cfe3

Browse files
Added basic database functionality for storing master blocked list
1 parent 037b98d commit 241cfe3

File tree

2 files changed

+56
-10
lines changed

2 files changed

+56
-10
lines changed

proxy.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ func updateMasterList() error {
158158
e.init(p, 1, hmacSecret, &s)
159159
var rappor []int
160160
for i := 0; i < len(blockedDomains); i++ {
161+
fmt.Println("Blocked domains: ", blockedDomains)
162+
fmt.Println(e.Encode([]byte(blockedDomains[i])))
161163
rappor = append(rappor, e.Encode([]byte(blockedDomains[i])))
162164
}
163165
err := json.NewEncoder(&buf).Encode(rappor)
@@ -171,6 +173,7 @@ func updateMasterList() error {
171173
if resp.StatusCode != 200 {
172174
return errors.New("Master list update failed with response "+string(resp.StatusCode))
173175
}
176+
fmt.Println("Post request completed successfully.")
174177
return nil
175178
}
176179

server/server.py

Lines changed: 53 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,66 @@
55
from flask_restful import Resource, Api, reqparse
66
from json import dumps
77

8-
app = Flask(__name__)
9-
api = Api(app)
8+
import sqlite3
109

11-
parser = reqparse.RequestParser()
10+
class Sql():
11+
def __init__(self, dbName):
12+
self.conn = sqlite3.connect(dbName)
13+
self.crsr = self.conn.cursor()
14+
15+
cmd = """CREATE TABLE IF NOT EXISTS domains
16+
(domain VARCHAR(80) PRIMARY KEY);"""
17+
self.crsr.execute(cmd)
18+
self.conn.commit()
19+
20+
def populateDummyData(self):
21+
# SQL command to insert the data in the table
22+
sql_command = """INSERT OR IGNORE INTO domains VALUES ("google.com");"""
23+
self.crsr.execute(sql_command)
24+
self.conn.commit()
25+
26+
def getBlockedList(self):
27+
cmd = "SELECT * FROM domains;"
28+
self.crsr.execute(cmd)
29+
return self.crsr.fetchall()
30+
1231

1332
class BlockedList(Resource):
33+
def __init__(self):
34+
self.sql = Sql("master_blocked_list.db")
35+
self.sql.populateDummyData()
36+
1437
def get(self):
1538
print("Request for blocked list made by client: ")
16-
return [{'Domain':'Earth'}]
39+
blocked = self.sql.getBlockedList()
40+
print(blocked)
41+
#return [{'Domain':'Earth'}]
42+
return blocked
1743

1844
def post(self):
1945
print("Client sent RAPPOR things to us: ")
20-
args = parser.parse_args()
21-
print(args)
46+
data = request.data
47+
print "Data: ", data[0]
2248
return '', 200
2349

24-
api.add_resource(BlockedList, "/blocked")
25-
print("Starting Metis server...")
26-
app.run(debug=True)
27-
50+
def main():
51+
app = Flask(__name__)
52+
api = Api(app)
53+
api.add_resource(BlockedList, "/blocked")
54+
print("Starting Metis server...")
55+
app.run(debug=True, threaded=True)
56+
57+
main()
58+
59+
60+
61+
62+
63+
64+
65+
66+
67+
68+
69+
70+

0 commit comments

Comments
 (0)