Dima Golomozy and GitHub
40946831b9
goreplay-cli package ( #1148 )
...
change package from `main -> goreplay`
this will allow importing `goreplay` as a package
2023-01-12 18:24:45 +03:00
Urban Ishimwe
6d812ceb7f
changes plugins reader and writer method
...
// PluginReader is an interface for input plugins
type PluginReader interface {
PluginRead() (msg *Message, err error)
}
// PluginWriter is an interface for output plugins
type PluginWriter interface {
PluginWrite(msg *Message) (n int, err error)
}
2020-11-02 06:15:10 +02:00
Urban Ishimwe and GitHub
5d8ca525a4
deprecate output-http non-compatible clients ( #833 )
...
for easy readability check changes by their underlying commits!
these benchmarks address the whole operation of the request cycle in goreplay.
_**goos: linux
goarch: amd64**_
**Using Compatible client:**
```
BenchmarkHTTPOutput-4 10417 118969 ns/op 12172 B/op 93 allocs/op
BenchmarkHTTPOutputTLS-4 9136 132929 ns/op 12448 B/op 97 allocs/op
```
**Using non-compatible client**
```
BenchmarkHTTPOutput-4 859 1175040 ns/op 15598 B/op 46 allocs/op
BenchmarkHTTPOutputTLS-4 880 1189643 ns/op 15544 B/op 52 allocs/op
```
Binary size reduced: **7%**
from these benchmarks, we may trade allocations with performance and memory!
2020-10-13 08:36:16 +03:00
Urban Ishimwe and GitHub
fdc8b094f0
Benchmarking, packaging, and fix issues, tests and perfomance ( #797 )
...
### performance
- handling of the very big packet(any size that can be buffered)
- speeding up TCP sessions by using message hints: Added **proto.HasFullPayload** that helps to validate the entire HTTP request, it supports `Chunked` encoding too! Added **proto.HasRequestTitle** and **proto.HasResponseTitle** for validating the beginning of HTTP request. Those methods are used `input_raw.go` with `TCP`.
- supports Keep-Alive: the above functions helps to support keep-alive
### Packaging
- **capture:** engines(capture/doc.go)
- **tcp:** tcp message parser (tcp/doc.go)
### benchmarking
- **capture.BenchmarkPcapDump:** the benchmarks regarding dumping packets in a pcap file
- **capture.BenchmarkPcapFile:** the benchmarks of reading packets from a pcap file
- **capture.BenchmarkPcap:** the benchmarks of parsing packets from the loopback interface with pcap handles
- **proto.BenchmarkHasFullPayload:**: benchmarking this function which validates the HTTP payload
- **tcp.BenchmarkPacketParseAndSort:** benchmarks of parsing and sorting packets
- **tcp.BenchmarkMessageParserWithoutHint:** benchmarks of message reasembling by using `SYN` and `FIN` flag
- **tcp.BenchmarkMessageParserWithHint:** benchmarks of message reasembling by using `proto.HasRequestTitle` and `proto.HasFullPayload` flag
### issues
see linked issues
### tests
- fixed input raw and engine tests
**Most of the changed of the files, was about using functionalities of** `tcp` **and** `capture` **in existing functionalities**
2020-08-11 12:44:53 +03:00
arijitad
01b6f1129c
Restructre AppSetting and address comments.
2020-07-23 10:00:16 +05:30
arijitad
80b19f918b
Map Appsetting to flag names.
2020-07-15 00:14:38 +05:30
Urban Ishimwe
39b1f80457
Merge branch 'master' into pro-merge
2020-06-16 22:43:08 +02:00
Leonid Bugaev
d67bc13db3
Merging PRO functionality back to OSS repo
2020-06-08 14:29:32 +03:00
Arijit Das
db28858804
Refactor emitter.go and fix test accordingly.
2020-06-06 16:00:43 +05:30
Romanenko Alexey and GitHub
2d78f195d2
Make plugin not global. Revert last-chunk bytes to correct value ( #755 )
...
Make Plugins variable not global to fix concurrency in test
Revert last-chunk in chunked transfer coding to correct value (https://tools.ietf.org/html/rfc2616#section-3.6.1 ) fyi @bruce34
2020-05-27 21:03:40 +03:00
Leonid Bugaev
2104bec5be
Fix S3
2017-04-29 11:31:30 +02:00
Leonid Bugaev
b1a0198354
fix
2017-01-23 20:18:28 +03:00
Leonid Bugaev
1a32de3dc6
Merge branch 'master' of https://github.com/buger/gor
2017-01-23 20:04:33 +03:00
Leonid Bugaev and GitHub
8c16220532
Track http responses ( #416 )
2017-01-23 16:20:27 +04:00
Leonid Bugaev
973b028517
Merge branch 'master' into s3
2017-01-23 13:27:56 +03:00
Leonid Bugaev
b48aadc9ea
Merge branch 'master' of https://github.com/buger/gor
2017-01-20 22:37:11 +03:00
Leonid Bugaev
92b02e4af4
Fmt
2016-12-23 19:56:33 +03:00
Leonid Bugaev
7f7cb7c439
Fix tests
2016-08-31 18:39:56 +03:00
Leonid Bugaev
8e37136b8e
Fix test (one more time)
2016-08-10 14:06:42 +03:00
Leonid Bugaev
a4826fcff9
Add support for tcp sessions
2016-07-30 16:42:40 +03:00
Leonid Bugaev
d81e39d25c
Improve test speed
2015-09-02 22:40:00 +03:00
Leonid Bugaev
33cdcd4d13
Use httptest package and properly close servers
2015-08-20 07:28:13 +03:00
Leonid Bugaev
3e763c43cf
Unify all input/output plugins
2015-08-18 14:32:52 +03:00
Leonid Bugaev
35854196f0
Fix tests
2015-08-03 20:07:28 +03:00
Leonid Bugaev
a9be1811ea
Merge branch 'master' into input-modifier
...
Conflicts:
Makefile
2015-08-03 19:59:03 +03:00
Leonid Bugaev
a79e54c5f1
Do not set http header if it explicitly set
2015-07-31 21:41:06 +03:00
Leonid Bugaev
5cc4228dcd
Merge branch 'master' into input-modifier
...
Conflicts:
Dockerfile
emitter.go
http_client.go
plugins.go
proto/proto.go
2015-07-21 09:49:37 +05:00
Leonid Bugaev
28540f43a1
New portion of changes
2015-07-13 16:56:52 +05:00
Leonid Bugaev
8db14e334d
Merge branch 'master' into input-modifier
...
Conflicts:
Dockerfile
Makefile
output_http.go
output_http_test.go
settings.go
2015-07-09 19:58:24 +05:00
Leonid Bugaev
2b17989fd9
Move HTTP modifier from HTTP output plugin
2015-07-05 23:17:57 +05:00
Leonid Bugaev
96fd713453
Use separate config for modifier
2015-07-05 10:25:44 +05:00
Leonid Bugaev
481e4f2e74
Refactor http output settings
2015-07-02 23:08:31 +05:00
Leonid Bugaev
21c544ef67
Fix tests and apply go fmt
2015-07-01 19:29:19 +05:00
Leonid Bugaev
122f06f6c2
Add raw http client
2015-07-01 19:06:49 +05:00
Leonid Bugaev
41294f9470
Fix 100-Expect requests and refactor chunked encoding
2015-06-29 17:01:26 +05:00
Leonid Bugaev
674ffc6202
Start adding tests for traffic modifier
2015-06-28 00:16:19 +05:00
Leonid Bugaev
534e9b29fa
Merge branch 'master' into encoding-chunked
...
Conflicts:
output_http.go
2015-06-26 09:12:29 +05:00
Leonid Bugaev
390f75fd3c
Handle Transfer-Encoding: chunked
2015-06-26 09:08:16 +05:00
Tobias Breitwieser
d05bc0d5e9
Introduce possibility to enable redirects.
2015-03-14 16:47:04 +01:00
Leonid Bugaev
ed5c2215f5
Fix POST requests
2015-01-06 17:50:36 +05:00
Leonid Bugaev
1637dd491f
Convert tabs to spaces and force go fmt
2014-10-13 18:05:16 +04:00
Leonid Bugaev
d0266303d1
Merge #119
2014-10-09 12:29:02 +04:00
Damian Zaremba
864723fe47
First go at a basic test
2014-09-28 13:23:47 +01:00
Leonid Bugaev
674d6036d1
Revert "Remove elastic search functionality"
...
This reverts commit cd27667246 .
2014-09-04 22:48:08 +04:00
Mat Evans
defc017ade
Add a testable SetHeader function with associated tests
...
It seemed easier to pull this bit of functionality out and be able to test it on it's own than rely on the whole http tests
2014-08-07 10:22:04 +01:00
Leonid Bugaev
cd27667246
Remove elastic search functionality
2014-07-22 22:50:04 +04:00
Mantas Matelis
c4307b750a
Documentation and test fixes
2014-06-12 11:43:04 -04:00
Leonid Bugaev
0fb1d83284
Simplify directory structure
2014-03-16 22:24:27 +06:00
Leonid Bugaev
9a32742653
Fixed tests
2014-01-29 21:10:35 +06:00
Leonid Bugaev
38b171d357
Merge branch 'master' into tcp_pool
...
Conflicts:
output_http.go
output_http_test.go
2014-01-29 14:57:47 +00:00