This change should simplify the pipeline's job. Reference issue: https://github.com/ooni/probe/issues/1817. I previously dismissed this possibility, but now it seems clear it is simpler to have a very tabular data format internally and to convert such a format to OONI's data format when serializing. The OONI data format is what the pipeline expects, but processing is easier with a more linear/tabular format.
		
			
				
	
	
		
			13 lines
		
	
	
		
			307 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			307 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package measurex
 | 
						|
 | 
						|
// NewFailure creates a serializable failure from an error. We
 | 
						|
// cannot round trip an error using JSON, so we serialize to this
 | 
						|
// intermediate format that is a sort of Optional<string>.
 | 
						|
func NewFailure(err error) *string {
 | 
						|
	if err == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
	s := err.Error()
 | 
						|
	return &s
 | 
						|
}
 |