|  |  |  | @ -41,8 +41,17 @@ func handleRequest(w http.ResponseWriter, r *http.Request) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// TODO: fix url
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// TODO: может что то получится сделать с p_body?
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// TODO: fix url TODO: может что то получится сделать с p_body?
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// Такие запросы надо разослать на список партнеров (-d). Из их
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// ответов потом нужно выбрат
 | 
			
		
	
		
			
				
					|  |  |  |  | 	/* | 
			
		
	
		
			
				
					|  |  |  |  | 		    Получив все ответы, ваш сервис должен для каждого элемента tiles из запроса | 
			
		
	
		
			
				
					|  |  |  |  | 			плейсмента выбрать среди imp с таким же id тот, у которого максимальная цена. | 
			
		
	
		
			
				
					|  |  |  |  | 			Одинаковых цен с одним id не будет | 
			
		
	
		
			
				
					|  |  |  |  | 			Если imp с каким-то id не получено, такого id не должно быть в ответе. Порядок imp в | 
			
		
	
		
			
				
					|  |  |  |  | 			ответе должен соответствовать порядку tiles в запросе плейсмента. Формат ответа: | 
			
		
	
		
			
				
					|  |  |  |  | 	*/ | 
			
		
	
		
			
				
					|  |  |  |  | 	// Отпралять запросы как горутины!
 | 
			
		
	
		
			
				
					|  |  |  |  | 	p_body := constructPartnersRequestBody(&inpReqBody) | 
			
		
	
		
			
				
					|  |  |  |  | 	sendRequest("localhost:5059", &p_body) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -53,6 +62,7 @@ func constructPartnersRequestBody(ir *req_types.IncomingRequest) io.Reader { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	var imps []req_types.Imp | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// WARN: не знаю как правильно перемножать uint и float
 | 
			
		
	
		
			
				
					|  |  |  |  | 	for _, tile := range ir.Tiles { | 
			
		
	
		
			
				
					|  |  |  |  | 		imps = append(imps, req_types.Imp{ | 
			
		
	
		
			
				
					|  |  |  |  | 			Id:        tile.Id, | 
			
		
	
	
		
			
				
					|  |  |  | @ -63,7 +73,8 @@ func constructPartnersRequestBody(ir *req_types.IncomingRequest) io.Reader { | 
			
		
	
		
			
				
					|  |  |  |  | 	outReqBody.Id = *ir.Id | 
			
		
	
		
			
				
					|  |  |  |  | 	outReqBody.Imp = imps | 
			
		
	
		
			
				
					|  |  |  |  | 	outReqBody.Context = ir.Context | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	log.Println(*ir) | 
			
		
	
		
			
				
					|  |  |  |  | 	log.Println(outReqBody) | 
			
		
	
		
			
				
					|  |  |  |  | 	t, _ := json.Marshal(outReqBody) | 
			
		
	
		
			
				
					|  |  |  |  | 	return bytes.NewReader(t) | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |