From 5ace26796f431c340cb77ba99181634543be22d7 Mon Sep 17 00:00:00 2001 From: Nikita Volodin Date: Thu, 7 Mar 2024 17:23:32 -0500 Subject: [PATCH] feat(filter): send request body to presidio --- .../pkg/envoyfilter/filter.go | 4 ++++ .../envoyfilter/internal/common/pii_analysis.go | 16 +--------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/privacy-profile-composer/pkg/envoyfilter/filter.go b/privacy-profile-composer/pkg/envoyfilter/filter.go index 7eec84b8..de813912 100644 --- a/privacy-profile-composer/pkg/envoyfilter/filter.go +++ b/privacy-profile-composer/pkg/envoyfilter/filter.go @@ -118,6 +118,10 @@ func (f *Filter) DecodeHeaders(header api.RequestHeaderMap, endStream bool) api. } func (f *Filter) DecodeData(buffer api.BufferInstance, endStream bool) api.StatusType { + log.Println("decode data") + log.Println("buffer value:") + log.Println(buffer) + if !endStream { // TODO: we might need to be careful about collecting the data from all // of these buffers. Maybe go has some builtin methods to work with it, diff --git a/privacy-profile-composer/pkg/envoyfilter/internal/common/pii_analysis.go b/privacy-profile-composer/pkg/envoyfilter/internal/common/pii_analysis.go index aa657c8a..44fdd0d6 100644 --- a/privacy-profile-composer/pkg/envoyfilter/internal/common/pii_analysis.go +++ b/privacy-profile-composer/pkg/envoyfilter/internal/common/pii_analysis.go @@ -10,27 +10,13 @@ import ( ) func PiiAnalysis(presidioSvcURL string, svcName string, bufferBytes []byte) (string, error) { - var jsonBody = `{ - "key_F": { - "key_a1": "My phone number is 212-121-1424" - }, - "URL": "www.abc.com", - "key_c": 3, - "names": ["James Bond", "Clark Kent", "Hakeem Olajuwon", "No name here!"], - "address": "123 Alpha Beta, Waterloo ON N2L3G1, Canada", - "DOB": "01-01-1989", - "gender": "Female", - "race": "Asian", - "language": "English" - }` - svcNameBuf, err := json.Marshal(svcName) if err != nil { return "", fmt.Errorf("could not marshal service name string into a valid JSON string: %w", err) } // TODO replace jsonBody with bufferBytes input arg - msgString := `{"json_to_analyze":` + jsonBody + `,"derive_purpose":` + string(svcNameBuf) + `}` + msgString := `{"json_to_analyze":` + string(bufferBytes) + `,"derive_purpose":` + string(svcNameBuf) + `}` resp, err := http.Post(presidioSvcURL, "application/json", bytes.NewBufferString(msgString)) if err != nil {