# The-Basics

## Overview

Gor architecture tries to follow UNIX philosophy: everything made of pipes, various inputs multiplexing data to outputs.

You can [rate limit](https://app.gitbook.com/s/-MOSMqWJv57pGTOWPxHf/untitled/Rate-limiting), [filter](https://app.gitbook.com/s/-MOSMqWJv57pGTOWPxHf/untitled/Request-filtering), [rewrite](https://app.gitbook.com/s/-MOSMqWJv57pGTOWPxHf/untitled/Request-rewriting) requests or even use your own [middleware](https://app.gitbook.com/s/-MOSMqWJv57pGTOWPxHf/untitled/goreplay.wiki/Middleware) to implement custom logic. Also, it is possible to replay requests at the higher rate for [load testing](https://app.gitbook.com/s/-MOSMqWJv57pGTOWPxHf/untitled/Saving-and-Replaying-from-file).

## Available input and output plugins

Available inputs:

* `--input-raw` - used to capture HTTP traffic, you should specify IP address or interface and application port. More about \[\[Capturing and replaying traffic]].
* `--input-file` - accepts file which previously was recorded using `--output-file`. More about \[\[Saving and Replaying from file]]
* `--input-tcp` - used by Gor aggregation instance if you decided forward traffic from multiple forwarder Gor instances to it. Read about using \[\[Aggregator-forwarder setup]].

Available outputs:

* `--output-http` - replay HTTP traffic to given endpoint, accepts base url. Read [more about it](https://app.gitbook.com/s/-MOSMqWJv57pGTOWPxHf/untitled/Replaying-HTTP-traffic)
* `--output-file` - records incoming traffic to the file. More about \[\[Saving and Replaying from file]]
* `--output-tcp` - forward incoming data to another Gor instance, used in conjunction with `--input-tcp`. Read more about \[\[Aggregator-forwarder setup]].
* `--output-stdout` - used for debugging, outputs all data to stdout.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.goreplay.org/untitled/the-basics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
