Commit Graph

255 Commits

Author SHA1 Message Date
Nicolas Grekas
64e3a327bc Merge branch '3.4' into 4.3
* 3.4:
  Remove use of ForwardCompatTrait
  Remove deprecated methods assertArraySubset
2019-08-03 23:50:52 +02:00
Jérémy Derussé
ac6242f36b
Remove use of ForwardCompatTrait 2019-08-03 23:15:25 +02:00
Nicolas Grekas
9babf9fdfb Merge branch '3.4' into 4.3
* 3.4:
  Fix assertInternalType deprecation in phpunit 9
  Micro-typo fix
2019-08-01 11:21:10 +02:00
Jérémy Derussé
4c8442462a
Fix assertInternalType deprecation in phpunit 9 2019-08-01 09:40:28 +02:00
Nicolas Grekas
2f79ccdc74 fix tests 2019-08-01 00:54:13 +02:00
Nicolas Grekas
bce1d5bcd0 Merge branch '3.4' into 4.3
* 3.4:
  [Cache] fix cs
  Make tests support phpunit 8
2019-08-01 00:32:32 +02:00
Nicolas Grekas
81af97f398 Make tests support phpunit 8 2019-07-31 23:55:24 +02:00
Fabien Potencier
84bc7aba91 Merge branch '4.2' into 4.3
* 4.2:
  fixed CS
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:01:17 +02:00
Fabien Potencier
0f958aabfa Merge branch '3.4' into 4.2
* 3.4:
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 12:50:42 +02:00
Fabien Potencier
106b348d3d fixed CS 2019-06-13 12:34:15 +02:00
Nicolas Grekas
0da213711c Merge branch '4.2' into 4.3
* 4.2:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:10:05 +02:00
Nicolas Grekas
06c655251c Merge branch '3.4' into 4.2
* 3.4:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:06:08 +02:00
Alexander M. Turek
4fb67df612 Use willReturn() instead of will(returnValue()). 2019-05-30 17:47:52 +02:00
Fabien Potencier
7e2fbe13c8 Merge branch '4.2'
* 4.2:
  fixed bad merge
  Show more accurate message in profiler when missing stopwatch
  CS Fixes: Not double split with one array argument
  [Serializer] Add default object class resolver
  Remove redundant animation prefixes
  Remove redundant `box-sizing` prefixes
  [VarExporter] support PHP7.4 __serialize & __unserialize
  Rework firewall access denied rule
  MetadataAwareNameConverter: Do not assume that property names are strings
  [VarExporter] fix exporting classes with private constructors
  fixed CS
  Fix missing $extraDirs when open_basedir returns
2019-04-10 21:42:49 +02:00
Fabien Potencier
b13a23fe45 Merge branch '3.4' into 4.2
* 3.4:
  Show more accurate message in profiler when missing stopwatch
  CS Fixes: Not double split with one array argument
  Remove redundant animation prefixes
  Remove redundant `box-sizing` prefixes
  Rework firewall access denied rule
  fixed CS
  Fix missing $extraDirs when open_basedir returns
2019-04-10 18:20:36 +02:00
Lynn
326aa86d6a Show more accurate message in profiler when missing stopwatch 2019-04-10 18:17:31 +02:00
Nicolas Grekas
75369dabb8 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN 2019-03-14 08:32:46 +01:00
Nicolas Grekas
05d6475c5e Drop more usages of Serializable 2019-03-04 09:45:35 +01:00
Nicolas Grekas
a0c566504c Merge branch '4.2'
* 4.2: (26 commits)
  Apply php-cs-fixer rule for array_key_exists()
  [Cache] fix warming up cache.system and apcu
  [Security] Change FormAuthenticator if condition
  handles multi-byte characters in autocomplete
  speed up tests running them without debug flag
  [Translations] added missing Croatian validators
  Fix getItems() performance issue with RedisCluster (php-redis)
  [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
  IntegerType: reject submitted non-integer numbers
  be keen to newcomers
  [HttpKernel] Fix possible infinite loop of exceptions
  fixed CS
  [Validator] Added missing translations for Afrikaans
  do not validate non-submitted form fields in PATCH requests
  Update usage example in ArrayInput doc block.
  [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
  [Validator] Fixed duplicate UUID
  fixed CS
  [EventDispatcher] Fix unknown priority
  Avoid mutating the Finder when building the iterator
  ...
2019-02-23 16:22:31 +01:00
Fabien Potencier
4e1ad10d91 feature #28919 [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content (SamFleming)
This PR was squashed before being merged into the 4.3-dev branch (closes #28919).

Discussion
----------

[DX][WebProfilerBundle] Add Pretty Print functionality for Request Content

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | n/a ?

## Why?
Quite often when attempting to debug issues with JSON requests sent to a Symfony API, I use the Web Profiler to check the request content. More often than not the request content isn't easily readable (99% of the time it's all stuck on a single line and impossible to read). I always find myself copying + pasting the content into a random online tool to have it "pretty-print" the JSON.

Usually this isn't an issue, but can be annoying when offline. There's also the security issue of sending entire JSON payloads to a third-party server just for formatting 😳. Alternatively, maybe developers  copy+paste into their chosen editors and this PR is all a waste of time — I hope not 😛.

## How?
This PR adds "Pretty-Print" JSON functionality straight into the profiler.

We can use `collector.requestheaders` to detect if the request was JSON and conditionally show the Pretty Print button.

When the button is clicked, we format the JSON from the "Request Content" card.

## What does it look like?
Before:
![without-pretty-print](https://user-images.githubusercontent.com/573318/47180751-36b0ce00-d319-11e8-86ed-eb0d78ebcbe3.png)

After:
![pretty](https://user-images.githubusercontent.com/573318/47180763-3c0e1880-d319-11e8-995d-eba565aad827.png)

Non-JSON Requests (unchanged):
![non-json-request](https://user-images.githubusercontent.com/573318/47181080-03227380-d31a-11e8-8cf2-e8b2e8c1a21d.png)

## Things to consider

- Is `JSON.stringify(JSON.parse(content));` the safest, most efficient way to do this?
- Should the "Pretty Print" button be in-line next to the "Request Content" header? I couldn't find a pattern for this sort of thing elsewhere in the profiler.
- Do people want JSON formatted with 4 spaces, would 2 spaces be preferred? Should this be a configuration option stored in localStorage (such as the light/dark theme configuration)?
- Should this be a toggle? E.g. click to pretty print, then click to undo

## Future Improvements

Depending on how this is received it could be extended to support formatting different request content-types (e.g. XML formatting) — I assume.

## Progress

- [x] Gather feedback and decide where to perform the pretty-print: [server-side, or client-side](https://github.com/symfony/symfony/pull/28919#issuecomment-431508361).
*It was decided server-side would be better.*

Commits
-------

9f85103151 [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content
2019-02-21 10:57:57 +01:00
Sam Fleming
9f85103151 [DX][WebProfilerBundle] Add Pretty Print functionality for Request Content 2019-02-21 10:57:48 +01:00
Fabien Potencier
c0323bd24b Merge branch '4.1' into 4.2
* 4.1:
  fixed tests
  fixed CS
  fixed CS
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 21:31:39 +01:00
Fabien Potencier
d58b5c3b76 fixed CS 2019-01-16 19:35:49 +01:00
Fabien Potencier
572864b223 Merge branch '3.4' into 4.1
* 3.4:
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 19:21:11 +01:00
Fabien Potencier
33a001e460 switched array() to [] 2019-01-16 10:39:14 +01:00
Robin Chalas
f27269330b Merge branch '4.1' into 4.2
* 4.1:
  properly fix tests on PHP 5
  fix tests on PHP 5
  remove doubled dot from exception message
  bug #29697 [DI] Fixed wrong factory method in exception (Wojciech Gorczyca)
  [Intl] make type-hinted arguments nullable
  [DI] Fixed wrong factory method in exception
  Changed gender choice types to color
  remove no longer needed PHP version checks
  remove no longer needed PHP version checks
  Fixed groupBy argument value in DefaultChoiceListFactoryTest
  [HttpKernel] Correctly Render Signed URIs Containing Fragments
  [HttpFoundation] Fix request uri when it starts with double slashes
2019-01-05 17:37:49 +01:00
Robin Chalas
1fa24cb363 Merge branch '3.4' into 4.1
* 3.4:
  properly fix tests on PHP 5
  fix tests on PHP 5
  bug #29697 [DI] Fixed wrong factory method in exception (Wojciech Gorczyca)
  Changed gender choice types to color
  remove no longer needed PHP version checks
  Fixed groupBy argument value in DefaultChoiceListFactoryTest
  [HttpKernel] Correctly Render Signed URIs Containing Fragments
  [HttpFoundation] Fix request uri when it starts with double slashes
2019-01-05 17:36:16 +01:00
Christian Flothmann
99448c6e78 remove no longer needed PHP version checks 2019-01-04 14:48:06 +01:00
Nicolas Grekas
bcc4454079 fix merge 2018-10-31 10:26:14 +01:00
Nicolas Grekas
448da09fe9 fix merge 2018-10-31 10:23:48 +01:00
Nicolas Grekas
c6e8a657ec Merge branch '4.1'
* 4.1:
  Fixed typo
  Fix ini_get() for boolean values
  SCA: fixed broken tests
  SCA: applied code style as per guidelines
  SCA: minor code tweaks
2018-10-31 10:23:02 +01:00
Nicolas Grekas
3e8a423047 Merge branch '3.4' into 4.1
* 3.4:
  Fixed typo
  Fix ini_get() for boolean values
  SCA: fixed broken tests
  SCA: applied code style as per guidelines
  SCA: minor code tweaks
2018-10-31 10:09:42 +01:00
Nicolas Grekas
63c74f7c29 Merge branch '2.8' into 3.4
* 2.8:
  Fixed typo
  Fix ini_get() for boolean values
2018-10-31 10:06:03 +01:00
François-Xavier de Guillebon
a1538696c3
Fix ini_get() for boolean values 2018-10-30 17:24:01 +01:00
Roland Franssen
f5c355e1ba [WebProfilerBundle] Remove application name 2018-10-23 14:46:28 +02:00
Nicolas Grekas
4964ffc8c0 [HttpKernel] fix kernel.name deprecation 2018-10-16 14:29:39 +02:00
Fabien Potencier
98ff750ee1 [HttpKernel] deprecated the Kernel name 2018-10-15 17:39:36 +02:00
Fabien Potencier
60fac5cefa feature #28447 [HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0 (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #26731
| License       | MIT
| Doc PR        | -

By creating Cookie instances using `null` for the `$secure` argument, this PR allows making cookies inherit their "secure" attribute from the request.

This PR also adds a forward to make $secure=null and samesite=lax the defaults in Symfony 5.0:
- either define all constructor's arguments explicitly
- or use the new `Cookie::create()` factory

Commits
-------

9493cfd5f2 [HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0
2018-09-26 07:44:22 +02:00
Nicolas Grekas
9493cfd5f2 [HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0 2018-09-20 08:41:35 +02:00
Nicolas Grekas
6ec223bf6f [SecurityBundle] make remember-me cookies auto-secure + inherit their default config from framework.session.cookie_* 2018-09-18 21:47:13 +02:00
Nicolas Grekas
a23a4a4398 Merge branch '4.0' into 4.1
* 4.0:
  Alpha-ordering for "use" statements
2018-07-26 11:10:45 +02:00
Nicolas Grekas
6b7e951fdc Merge branch '3.4' into 4.0
* 3.4:
  Alpha-ordering for "use" statements
2018-07-26 11:08:35 +02:00
Nicolas Grekas
7b80bc2c78 Merge branch '2.8' into 3.4
* 2.8:
  Alpha-ordering for "use" statements
2018-07-26 11:06:28 +02:00
Nicolas Grekas
528eef336b Alpha-ordering for "use" statements 2018-07-26 11:03:18 +02:00
Nicolas Grekas
933b774844 Merge branch '4.0' into 4.1
* 4.0:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:55:25 +02:00
Nicolas Grekas
b9433001cb Merge branch '3.4' into 4.0
* 3.4:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:51:09 +02:00
Nicolas Grekas
f5939a8336 Merge branch '2.8' into 3.4
* 2.8:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:45:46 +02:00
Christophe Coevoet
04654cfeb3 Enable the fixer enforcing fully-qualified calls for compiler-optimized functions 2018-07-24 12:05:38 +02:00
Nicolas Grekas
1435d677be [VarDumper] Fix dumping by splitting Server/Connection out of Dumper/ServerDumper 2018-06-23 14:23:56 +02:00
Nicolas Grekas
e035f45637 Merge branch '4.0'
* 4.0: (22 commits)
  [appveyor] use PHP 7.1 to run composer
  [HttpKernel] Don't clean legacy containers that are still loaded
  [VarDumper] Fix HtmlDumper classes match
  Make the simple auth provider the same as in Symfony 2.7.
  [PhpUnitBridge] silence wget
  fix merge
  [Security] guardAuthenticationProvider::authenticate cannot return null according to interface specification
  [PhpUnitBridge] Fix #26994
  [VarDumper] Remove decoration from actual output in tests
  [PropertyInfo] Minor cleanup and perf improvement
  [Bridge/Doctrine] fix count() notice on PHP 7.2
  [Security] Skip user checks if not implementing UserInterface
  [DI] Add check of internal type to ContainerBuilder::getReflectionClass
  [HttpFoundation] Add HTTP_EARLY_HINTS const
  [DoctrineBridge] Improve exception message at `IdReader::getIdValue()`
  Add type hints
  fixed CS
  Use new PHP7.2 functions in hasColorSupport
  [VarDumper] Fix dumping of SplObjectStorage
  [HttpFoundation] Add functional tests for Response::sendHeaders()
  ...
2018-04-26 18:12:45 +02:00