<commit_before># Products

    GET api/products

## Description
Returns all products

## Return format
- **products** — All products list

## Errors
None

## Example
**Request**
http://localhost:9000/api/products

**Return**
``` json
[
  {
    "id": 3,
    "name": "<NAME>",
    "price": 10.5,
    "popularity": 3,
    "photo": "photourl"
  },
  {
    "id": 2,
    "name": "<NAME>",
    "price": 95,
    "popularity": 2,
    "photo": "photourl"
  },
  {
    "id": 1,
    "name": "<NAME>",
    "price": 35.99,
    "popularity": 1,
    "photo": "photourl"
  }
]
```<commit_msg>Product names sanitized and popularity part removed.<commit_after># Products

    GET api/products

## Description
Returns all products

## Return format
- **products** — All products list

## Errors
None

## Example
**Request**
http://localhost:9000/api/products

**Return**
``` json
[
  {
    "id": 3,
    "name": "Product 1",
    "price": 10.5,
    "photo": "photourl"
  },
  {
    "id": 2,
    "name": "Product 2",
    "price": 95,
    "photo": "photourl"
  },
  {
    "id": 1,
    "name": "Product 3",
    "price": 35.99,
    "photo": "photourl"
  }
]
```
{'fraction_non_alphanumeric': 0.20704845814977973, 'fraction_numerical': 0.033480176211453744, 'mean_word_length': 2.724590163934426, 'pattern_counts': {'":': 27, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '106924', 'n_tokens_mistral': 566, 'n_tokens_neox': 465, 'n_words': 107}