@@ -213,6 +213,10 @@ type UserRelationship struct {
213213 ScreenName string `json:"screen_name" xml:"screen_name"`
214214}
215215
216+ type UserRelationships struct {
217+ Relationships []UserRelationship `json:"relationship" xml:"relationship"`
218+ }
219+
216220// Bluesky's API returns a letter ID for each user,
217221// While twitter uses a numeric ID, meaning we
218222// need to convert between the two
@@ -367,21 +371,13 @@ func XMLEncoder(data interface{}, oldHeaderName string, newHeaderName string) (*
367371
368372 // Remove the root element and replace with custom header
369373 xmlContent := buf .Bytes ()
370- fmt .Println (string (xmlContent ))
371- start := bytes .Index (xmlContent , []byte ("<" + oldHeaderName + ">" ))
372- end := bytes .LastIndex (xmlContent , []byte ("</" + oldHeaderName + ">" ))
373- if start == - 1 || end == - 1 {
374- return nil , fmt .Errorf ("invalid XML format" )
375- }
376- xmlContent = xmlContent [start + len ("<" + oldHeaderName + ">" ) : end ]
377374
378- // Add custom XML header and root element
379- customHeader := []byte (`<?xml version="1.0" encoding="UTF-8"?>` + "\n " + `<` + newHeaderName + `>` + "\n " )
380- xmlContent = append (customHeader , xmlContent ... )
375+ xmlContent = bytes .ReplaceAll (xmlContent , []byte ("<" + oldHeaderName + ">" ), []byte ("<" + newHeaderName + ">" ))
376+ xmlContent = bytes .ReplaceAll (xmlContent , []byte ("</" + oldHeaderName + ">" ), []byte ("</" + newHeaderName + ">" ))
381377
382- // Add custom footer
383- customFooter := []byte (" \n </" + newHeaderName + ">" )
384- xmlContent = append (xmlContent , customFooter ... )
378+ // Add custom XML header
379+ customHeader := []byte (`<?xml version="1.0" encoding="UTF-8"?>` )
380+ xmlContent = append (customHeader , xmlContent ... )
385381
386382 result := string (xmlContent )
387383 return & result , nil
0 commit comments